客户端证书:无法使用权​​限建立SSL / TLS的安全通道(再次!)

Hud*_*voy 2 .net ssl wcf soap tls1.2

很抱歉提出这个问题,但是我在Stack上找不到任何答案。

我开发了一个客户端应用程序,可以使用WCF与外部SOAP api进行通信。为了进行身份验证,该应用程序使用客户端证书。(客户端证书已安装在服务器上)。当我在本地计算机上测试时,一切正常。

当我在IIS上(在EC2上)部署应用程序时,会出现问题。这些应用程序无法再与SOAP API通信。这是错误:

"Could not establish secure channel for SSL/TLS with authority".
Run Code Online (Sandbox Code Playgroud)

我在“当前用户”和“本地计算机”位置的“个人”存储中安装了证书。当我尝试用浏览器访问SOAP api时,它可以工作(获取wsdl文件,该文件也需要客户端证书)。

注意:证书不是自签名的。它是由授权的CA创建的。

谢谢您的帮助

Ras*_*iya 5

证书存储只能由管理员访问。本地iis用户IUSER没有管理员权限,因此您遇到该证书错误。将应用程序池标识更改为LocalSystem解决了您的问题,因为LocalSystem可以访问证书存储。

另一个最佳解决方案是仅允许将证书访问IUSER。(通过这样做,您具有特定的访问权限,而与管理员对应用程序池的完全访问权限不同)。

为此,请转到证书控制台->右键单击证书->所有任务->管理私钥->添加IUSER,然后单击确定。

在此处输入图片说明

在此处输入图片说明