首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >无法使用授权'xxxxx.com‘为SSL/TLS建立安全通道

无法使用授权'xxxxx.com‘为SSL/TLS建立安全通道
EN

Stack Overflow用户
提问于 2014-10-02 05:19:06
回答 2查看 13.7K关注 0票数 0

我正在尝试使用VS2013和WCF针对客户的SOAP webservice编写一个客户端。网络服务本身在他们的防火墙后面,所以他们已经建立了一个代理,我正在尝试联系它。(代理似乎是使用MuleSoft的ESB实现的,这可能是相关的,也可能不是。)

我得到了一个https: url和一个用户名/密码。当我将url加载到浏览器中时,系统会提示我输入用户名/密码,然后我会看到.wsdl。.wsdl指定了一个我无法访问的内部url,但我认为这是针对实际站点的。

当我使用代理URL在VS2013中创建服务引用时,系统会提示我输入三次用户名/密码,然后我会得到一个合适的客户端、app.config中的设置等。

在app.config中生成的绑定用于具有安全模式传输的basicHttpBinding,以及指向该不可访问的内部url的端点地址。

因此,从生成的绑定中,我:

  1. 将无法访问的内部url替换为提供给我的代理url。
  2. 将安全模式更改为"TransportWithMessageCredentials“

  • 将ClientCredentials替换为用户名和密码:

使用(var client =新的MyCustomersServiceClient()) { var loginCredentials =新的ClientCredentials();loginCredentials.UserName.UserName = "ausername";loginCredentials.UserName.Password = "apassword";

var defaultCredentials = client.Endpoint.Behaviors.Find();var var myData =client.Endpoint.Behaviors.Find MyData { };var myData= client.receiveData(myData);

}

当我运行它时,我得到了一个异常:

无法使用授权‘xxxxx.com’为SSL/TLS建立安全通道。

浏览一下,我发现的大多数东西都表明ssl证书有问题,但我不确定这是否有意义。如果是这样的话,当我通过浏览器查看.wsdl时,我可能会看到问题。我认为,通过删除默认的客户端凭据,我将绕过证书检查。我看到一些关于更多晦涩的问题的帖子,这些问题导致了同样的错误消息。

我启用了SOAP消息日志记录,但它没有为我提供任何信息。它显示了失败的传出消息,但没有任何用处。

所以我一直在观察Fiddler的交通状况。我看到了两条消息,一条HTTP消息指向结果为200的“隧道目标”,另一条HTTPS消息指向代理url,结果为401。

在这一点上,我认为有两种可能性:

  1. 我需要安装SSL证书,错误消息建议的方式,或者
  2. 问题很简单,我没有以它能理解的方式向服务提供用户名/密码,并且它拒绝了我的连接尝试。

我倾向于后者。我的问题?我对托管服务的系统一无所知。我正在传递用户名/密码,我认为这是WCF的常见机制,但它不起作用。

所以,最后,问题是:

WCF我误导了自己,我确实需要处理SSL certificates?

  • If不,我应该如何在
  • 中将用户名/密码传递给MuleSoft ESB托管的HTTPS ESB服务?(Mule EE核心扩展/3.5.1,如果有帮助的话)。
EN

回答 2

Stack Overflow用户

发布于 2016-08-22 21:04:25

不确定我遇到的问题是否与您的问题具有相同的原因,但为了以防万一我可以帮助某人解决这个问题,添加requireClientCertificate=true解决了我的问题:

代码语言:javascript
复制
<bindings>
  <customBinding>
    <binding name="bindingName">
      ...
      <httpsTransport requireClientCertificate="true"/>
    </binding>
  </customBinding>
</bindings>

我收到了相同的错误消息,但我使用的web服务是通过HTTPS的,并且需要SSL证书作为身份验证。

票数 0
EN

Stack Overflow用户

发布于 2018-06-13 23:38:13

许多端点最近一直在禁用TLSV1.0和TLSV1.1

尝试:

CURL https://<<service host>> -v -TLSV1.0

CURL https://<<service host>> -v -TLSV1.2

例如,https://www.comodo.com不允许TLSV1.0或TLSV1.1,但允许TLSV1.2。

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

https://stackoverflow.com/questions/26150847

复制
相关文章

相似问题

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