WCF:客户端相互证书身份验证问题(无法为具有权限的SSL / TLS建立安全通道)

时间:2011-06-21 19:47:18

标签: wcf wcf-security wcf-client

我已经对我的问题进行了彻底的研究,并阅读了许多其他帖子/博客,但他们的解决方案并没有解决我的问题。我希望有人可以提供帮助。

我有一个非常简单的WCF服务,它使用带有相互证书身份验证的WsHttpBinding传输安全性。服务器证书是自签名证书,我已确认我在客户端计算机上的受信任存储区中有证书。服务器在受信任的证书存储区中具有客户端证书(也是自签名的),并且我已经验证我可以使用SOAPUI客户端对服务进行相互身份验证。

但是,我无法使用我创建的WCF客户端这样做。在WCF客户端上,我通过调用通道工厂的Credentials.ClientCertificate.SetCertificate(...)方法设置了客户端证书,并且我还添加了

ServicePointManager.ServerCertificateValidationCallback +=
            ( sender,
              certificate,
              chain,
              sslPolicyErrors ) => true;

绕过所有可能的服务器证书问题,但我总是得到:无法使用权​​限server.com建立SSL / TLS的安全通道。

有人可以告诉我可能是什么问题和/或我应该怎么做才能使这个工作?任何帮助表示赞赏。

感谢。

1 个答案:

答案 0 :(得分:0)

尝试此操作以查看这是否只是证书信任链的问题:

http://webservices20.blogspot.com/2008/12/wcf-gotcha-disabling-ssl-validation.html