我有一个使用HTTPS托管在IIS 7中的WCF服务。当我在Internet Explorer中浏览到这个站点时,它就像一个护身符,这是因为我已经将证书添加到了本地根证书颁发机构存储中。
我是在一台机器上开发的,所以客户端和服务器是同一台机器。证书是直接从IIS 7管理管理单元自签名的。
我现在不断地收到这个错误...
无法使用授权为SSL/TLS安全通道建立信任关系。
..。
我使用findprivatekey
和cacls.exe
手动为自己设置了证书的权限和网络服务。
我尝试使用SOAPUI连接到服务,而且工作正常,所以这一定是我的客户端应用程序中的一个问题,它是基于用于处理http的代码。
我还能去哪里看我似乎已经用尽了所有的可能性,为什么我不能连接?
发布于 2009-11-16 23:39:30
作为一种解决办法,您可以在客户端向ServicePointManager
的ServerCertificateValidationCallback
添加一个处理程序:
System.Net.ServicePointManager.ServerCertificateValidationCallback +=
(se, cert, chain, sslerror) =>
{
return true;
};
但请注意,,这不是一个好的实践,,因为它完全忽略服务器证书,并告诉服务点管理器,任何证书都可以,这会严重损害客户端安全性。您可以对此进行改进,并执行一些自定义检查(针对证书名称、哈希等)。至少您可以在使用测试证书时规避开发过程中的问题。
发布于 2012-02-09 04:48:45
当我遇到这个问题时,是因为client.config有如下端点:
https://myserver/myservice.svc
但是证书是期望的
https://myserver.mydomain.com/myservice.svc
更改端点以匹配服务器的FQDN可以解决我的问题。我知道这不是这个问题的唯一原因。
发布于 2009-11-16 23:40:58
您的问题出现是因为您使用的是自签名密钥。客户端不信任此密钥,密钥本身也不提供要验证的链或证书吊销列表。
你有几个选择-你可以
G29购买SSL证书
https://stackoverflow.com/questions/1742938
复制相似问题