2010-05-06 109 views
2

我试图访问WCF Web服务,即使用双向SSL加密。当我尝试拨打该服务时,我收到一个SSL证书:否客户端证书密钥传出

System.ServiceModel.Security.SecurityNegotiationException:无法为具有“XXX.xx”权限的SSL/TLS建立安全通道。 ---> System.Net.WebException:请求被中止:无法创建SSL/TLS安全通道。

我已经尝试激活线鲨鱼,看看发送到服务器和从服务器发送什么:我看到一个客户端hello和一个服务器你好。但是,没有客户端响应服务器问候。我期待一个

“证书。客户端密钥交换。更改密码。加密握手消息”

包,但没有发送。我认为这是由服务器发送的证书有问题,即不知何故我的客户端服务器不会信任它。

这是我已经尝试过的: 我已经通过适当的权限创建了证书,尽管我可能在证书请求中犯了错误而不知道它。 我已经将两个根证书添加到:受信任的根证书,受信任的发布者和受信任的人员。我还将客户端证书添加到受信任的人员。我的同事成功地建立了一个win 2008服务器上的连接(我使用的是2003年,因为它有一些奇怪的原因是必要的 - 不要问)。我看不出我们方法有什么不同,所以我有点失落。

任何帮助将不胜感激。

回答

2

我解决了这个问题:

它变成了应用程序池并没有对证书的私钥的读取权限。我们将应用程序池更改为本地系统(我相信)并解决了问题。