【问题标题】:WSE 3.0 Trust chain error - how do i view what certificate is being sent back? I want to know what cert has the trust chain errorWSE 3.0 信任链错误 - 我如何查看发回的证书?我想知道什么证书有信任链错误
【发布时间】:2010-12-22 20:52:57
【问题描述】:

当我在 WSE 3.0 中收到回复时,我遇到了信任链错误。

当我获取 WSDL 时,他们的证书很好。当我连接时,他们的证书很好。当我发送 XML 请求时,它喜欢我的公共证书。

WSE 不喜欢响应中的令牌。 Microsoft.Web.Service3 调用 getelement,然后调用 loadbinarysecuritytoken,但随后检查链并且不喜欢它看到的内容。

我想知道它不喜欢的什么令牌。我不确定如何查看令牌是什么。它是二进制数据,所以 HttpAnalyzer 没有多大帮助。

在完全了解问题所在之前,我无法解决问题。他们给我发错了证书吗?它只是我没有的证书,需要增加我的个人信任吗?什么?

【问题讨论】:

  • 我正在使用 Visual Studio 2005,因为 WSE 已被 WCF 取代。因此,VS 2008 或 VS 2010 不支持 WSE 3.0

标签: .net web-services x509certificate trust wse


【解决方案1】:

你一定知道涉及到哪些证书吧?通常是一个客户端证书和一个服务器证书。在我看来,客户端无法验证用于签署客户端接收到的消息的服务器证书。如果您使用的是自签名证书,那么您应该尝试将该证书添加到客户端计算机上受信任的根 CA 的证书文件夹中。如果您的客户端是服务,那么您必须将其放在 LocalMachine 下(假设该服务作为网络服务运行),否则将其放在 CurrentUser 下。希望这能为您指明正确的方向。

【讨论】:

  • 我知道我期望从服务器取回什么证书。问题是我不确定这是否是 SOAP 消息中的实际证书。 SOAP 消息由核心 .NET 代码处理。它是肥皂消息中的二进制流。 WSE 将soap 消息解密为证书对象,然后对其进行处理。如果这是我所期待的证书,它就不会崩溃。问题是 - 我实际上 获得了什么证书。我怎么弄出来的?
  • 总结:不幸的是,没有。我不知道我要拿回什么证书。这就是问题所在。我知道 ssl 请求的标头上有什么,但我不知道肥皂消息本身的签名是什么。
  • 你可以访问服务器的ssl证书吗?因为如果你这样做,你可以使用wireshark,解密流量,查看原始soap消息,获取证书公钥的base64字符串,并将其加载到x509Certificate2实例中并查看它。
  • 如果您将客户端上的证书链验证规则更改为无,它是否有效?
  • 自从我使用 WSE3 以来已经有好几年了,我只是想帮助您在这里跳出框框思考......
猜你喜欢
  • 2017-03-02
  • 1970-01-01
  • 1970-01-01
  • 2015-02-14
  • 2015-01-24
  • 2021-12-10
  • 2010-12-03
  • 2012-01-29
  • 1970-01-01
相关资源
最近更新 更多