【发布时间】:2021-11-14 19:44:09
【问题描述】:
我正在创建一个由 IIS 托管的应用程序,我想让它与 SoapUi 安全地通信(所以 IIS 是这种情况下的客户端)。我在两端都使用证书,因为我想要相互身份验证。当 IIS 连接到 SoapUi 时,我可以在 WireShark 中看到:
- 客户端问候是从 IIS 发送的
- 然后 SoapUi 以 server hello 响应并继续证书和证书请求
- 然后 IIS 使用 TCP [FIN, ACK] 终止连接
- 最后 SoapUi 发送 Alert(Level: Fatal, Description: Handshake Failure)
- 在我的应用程序日志中,我可以看到错误
Could not establish secure channel for SSL/TLS with authority 'localhost:8443'.
从我的应用程序的日志中,我可以看到我的应用程序显然正在按预期加载证书。证书是从 LocalMachine 证书存储加载的,CA 证书位于 Trusted Root Certification Authorities 中。在 SoapUi 中,我为 SoapUi 证书/私钥和 CA 证书/私钥添加了 .pfx 文件。 IIS 证书和 SoapUi 证书均由同一个 CA 签名。
我需要在 IIS 中配置什么特殊内容以允许应用通过相互证书身份验证进行连接。
【问题讨论】:
-
您需要确保运行该服务的应用程序池可以访问证书。docs.microsoft.com/en-us/dotnet/framework/wcf/feature-details/…
-
谢谢,解决了。我必须让我的应用程序池访问证书的私钥。
标签: wcf iis certificate soapui