SSL证书:没有客户端证书密钥交换

3
我正在尝试访问一个使用双向SSL加密的WCF web服务。当我尝试调用服务时,我会遇到以下错误:
System.ServiceModel.Security.SecurityNegotiationException: 无法建立与权限为“XXX.xx”的SSL/TLS安全通道。---> System.Net.WebException: 请求被中止:无法创建SSL/TLS安全通道。
我已经尝试启用WireShark来查看服务器发送和接收的内容:我看到了客户端Hello和服务器Hello。但是没有客户端响应服务器Hello。我原本期望会有一个证书、客户端密钥交换、改变密码和加密握手消息的信息包,但实际上没有发送。我认为这可能是由于服务器发送的证书存在问题,导致我的客户端不信任它。
在此之前,我已经尝试过以下方法: 1. 通过合适的授权机构创建了证书,但我可能在证书请求中犯了错误。 2. 将两个根证书添加到信任根证书、信任出版商和信任人员中。我还将客户端证书添加到信任人员中。 3. 我的同事已经成功地在win2008服务器上建立了连接(我使用的是2003,因为某些奇怪的原因需要使用该版本),我看不出我们的方法有什么区别,所以我有点迷失了方向。
非常感谢您提供的任何帮助。
1个回答

3

我解决了这个问题:

原来是应用程序池没有对证书的私钥读取权限。我们将应用程序池更改为本地系统(我相信),问题得到了解决。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接