0

我有一个已构建并部署到托管在 IIS 7.5 上的 Windows 2008 R2 服务器的 Web 应用程序。我正在使用一个 API 对不同的应用程序进行安静的服务调用。我知道我收到 SSL 证书错误,因为当我使用此代码来抑制它们时,它工作正常:

System.Net.ServicePointManager.ServerCertificateValidationCallback =
               ((sender, certificate, chain, sslPolicyErrors) => true);

没有意义的是我在远程机器上安装了所需的证书。在我安装证书之前,我可以导航到另一个应用程序的测试 Restful 服务 URL 并得到证书错误。所以我将此证书错误安装到受信任的根目录中,并且该错误消失了。但是,我的 Web 应用程序肯定仍然出现错误。当我添加上述代码时,一切正常。

IIS 7.5 是否具有我可以为证书设置的设置,我的 Web 应用程序是否具有可以更改此行为的配置?我不理解默认行为,我的期望是,由于证书安装在受信任的根目录中,因此我在该服务器上的 Web 应用程序会很好。

4

1 回答 1

2

您必须在机器或注册表存储中安装证书,以便 IIS 应用程序池标识可以获取它。如果您将它安装在用户存储中,您的浏览器将看到并使用它,但由于 ASP.NET 以不同的身份运行,因此将无法使用它。

于 2013-10-11T17:15:10.043 回答