这个问题在stackoverflow上有很多版本。我已经尝试了很多那里建议的解决方案 - 但这些都不适合我。
我有一个在 Windows Server 2008 上的 IIS 上运行的 VB ASP.NET 应用程序。它调用一个 web 服务。运行 Web 服务的服务器具有自签名证书。我已将证书导入 IIS 机器的信任库。我可以在 IE->Options->Content->Certificates->Trusted Root Certification Authorities 中看到证书。
调用webservice时,抛出异常
基础连接已关闭:无法为 SSL/TLS 安全通道建立信任关系。
相同的 IIS VB ASP.NET 应用程序在另一台具有类似设置的机器上运行良好。
这些是我检查过的不同的基本内容
- 用于调用 Web 服务的 URL 与导入受信任根 CA 的证书上的 CN 相同。
- 调用机器和 Web 服务主机之间的时间同步
- 证书未过期。
- IIS 机器在 IIS 中具有代理设置,但 Web 服务主机已添加到不应使用代理的例外列表中。
我在 VB.NET 中编写了一个小型命令行测试程序,调用了运行良好的相同 Web 服务。
将证书导入受信任的 CA 存储后,我进行了 iisreset。
唯一我还没有尝试过的是重新启动 IIS 机器——这是生产机器,我至少有几天不能重新启动它。
我还能尝试什么?