我有一个我已构建并部署到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应用程序就可以了。
答案 0 :(得分:2)
您必须在计算机或注册表存储中安装证书,以便IIS应用程序池标识可以将其获取。如果您在用户存储中安装它,您的浏览器将会看到并使用它,但由于ASP.NET以不同的身份运行,因此无法使用它。