首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何解决“无法为有权限的SSL/TLS安全通道建立信任关系”

如何解决“无法为有权限的SSL/TLS安全通道建立信任关系”
EN

Stack Overflow用户
提问于 2009-11-16 23:35:47
回答 18查看 350.2K关注 0票数 146

我有一个使用HTTPS托管在IIS 7中的WCF服务。当我在Internet Explorer中浏览到这个站点时,它就像一个护身符,这是因为我已经将证书添加到了本地根证书颁发机构存储中。

我是在一台机器上开发的,所以客户端和服务器是同一台机器。证书是直接从IIS 7管理管理单元自签名的。

我现在不断地收到这个错误...

无法使用授权为SSL/TLS安全通道建立信任关系。

..。

我使用findprivatekeycacls.exe手动为自己设置了证书的权限和网络服务。

我尝试使用SOAPUI连接到服务,而且工作正常,所以这一定是我的客户端应用程序中的一个问题,它是基于用于处理http的代码。

我还能去哪里看我似乎已经用尽了所有的可能性,为什么我不能连接?

EN

回答 18

Stack Overflow用户

回答已采纳

发布于 2009-11-16 23:39:30

作为一种解决办法,您可以在客户端向ServicePointManagerServerCertificateValidationCallback添加一个处理程序:

代码语言:javascript
复制
System.Net.ServicePointManager.ServerCertificateValidationCallback +=
    (se, cert, chain, sslerror) =>
        {
            return true;
        };

但请注意,,这不是一个好的实践,,因为它完全忽略服务器证书,并告诉服务点管理器,任何证书都可以,这会严重损害客户端安全性。您可以对此进行改进,并执行一些自定义检查(针对证书名称、哈希等)。至少您可以在使用测试证书时规避开发过程中的问题。

票数 204
EN

Stack Overflow用户

发布于 2012-02-09 04:48:45

当我遇到这个问题时,是因为client.config有如下端点:

代码语言:javascript
复制
 https://myserver/myservice.svc 

但是证书是期望的

代码语言:javascript
复制
 https://myserver.mydomain.com/myservice.svc

更改端点以匹配服务器的FQDN可以解决我的问题。我知道这不是这个问题的唯一原因。

票数 44
EN

Stack Overflow用户

发布于 2009-11-16 23:40:58

您的问题出现是因为您使用的是自签名密钥。客户端不信任此密钥,密钥本身也不提供要验证的链或证书吊销列表。

你有几个选择-你可以

  1. 在客户端关闭证书验证(错误移动,中间人攻击比比皆是)
  2. 使用makecert创建根CA并从中创建证书(可以移动,但仍然没有CRL)
  3. 使用Windows certificate Server或其他PKI解决方案创建内部根CA,然后信任根证书(管理有点麻烦)
  4. 从一个受信任的CA(昂贵的)

G29购买SSL证书

票数 23
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1742938

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档