gpt4 book ai didi

asp.net - 调用网络服务 "The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel"

转载 作者:太空宇宙 更新时间:2023-11-03 13:10:34 25 4
gpt4 key购买 nike

这个问题在 stackoverflow 上有很多版本。我已经尝试了那里建议的很多解决方案 - 但这些都不适合我。

我有一个在 Windows Server 2008 上的 IIS 上运行的 VB ASP.NET 应用程序。它调用 Web 服务。运行 Web 服务的服务器具有自签名证书。我已将证书导入到 IIS 机器的信任库中。我可以在 IE->选项->内容->证书->受信任的根证书颁发机构中看到证书。

调用webservice时抛出异常

The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.

同一个 IIS VB ASP.NET 应用程序在具有类似设置的另一台机器上运行良好。

这些是我检查过的不同的基本东西

  • 用于调用网络服务的 URL 与导入到受信任根 CA 的证书上的 CN 相同。
  • 时间在调用机器和网络服务主机之间同步
  • 证书未过期。
  • IIS 机器在 IIS 中有代理设置,但 Web 服务主机添加到不应使用代理的异常(exception)列表中。

我在 VB.NET 中编写了一个小型命令行测试程序,调用运行良好的相同 Web 服务。

将证书导入 Trusted CA 存储后,我进行了 iisreset。

唯一我还没有尝试过的是重启 IIS 机器——这是生产机器,我至少有几天无法重启它。

我还能尝试什么?

最佳答案

Internet Explorer 证书设置仅适用于当前用户。您在操作 IE 时登录的用户与用于托管 IIS 应用程序的用户相同,极不可能。您可以将证书添加到相应服务帐户的受信任证书中,但更简单的方法是将其添加到“本地计算机”受信任证书中。

运行 Microsoft 管理控制台(在运行对话框中键入“mmc”)文件 > 添加/删除管理单元 > 证书,为要管理的证书选择“计算机帐户”。这样,服务器上的任何用户或服务帐户都会将证书视为受信任的。

或者,根据您访问网络服务的方式,您可以在应用程序本身中添加一个异常(exception)。不过,我会推荐检查证书指纹/哈希的代码,而不是允许它连接到任何不受信任的证书。

关于asp.net - 调用网络服务 "The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15377075/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com