【问题标题】:Web Exception with Web ServiceWeb 服务的 Web 异常
【发布时间】:2010-12-21 19:49:29
【问题描述】:

我开发了一个客户端应用程序来使用 Web 服务,

我的代码中没有错误,但是当我调试时出现以下异常,

'WebException 未处理 - 底层连接已关闭:无法为 SSL/TLS 安全通道建立信任关系。'

我认为这与我尝试使用的安全网络服务有关, 所以我的问题是由于未正确安装安全证书而发生此错误吗?如果是这样,有没有办法手动将证书安装到应用程序中?

感谢您的宝贵时间。

【问题讨论】:

    标签: c# web-services ssl-certificate


    【解决方案1】:

    这基本上是一个缺少信任的问题。服务器的 ssl 证书需要被消费客户端信任。有两种方法可以解决此问题:

    1. 从受信任的certificate authority (CA) 购买 SSL 证书

    2. 将服务器的 SSL 证书添加到运行应用程序的用户(或要运行应用程序的计算机 (LocalMacine/TrustedPeople))的 Trusted People 证书存储中

    您可以使用X509CertificateStore 类以编程方式将证书添加到适当的商店,因此基本上您可以将服务器的ssl 证书的公钥与您的应用一起分发并在需要时安装它。

    【讨论】:

    • 好的,感谢您的反馈,我会试一试,如果它有效,将勾选您的答案,另外,如果应用程序在调试中到了这个阶段,您会猜测一切都是准备好了,但只需要克服这个异常?
    【解决方案2】:

    我同意@Klaus Byskov Hoffmann,但想补充一下他的回答。如果用于访问服务的服务器域名与分配给它的证书不完全相同,也可能会发生这种情况。即使两个名称都适用于机器,它也会使证书无效。

    【讨论】:

      猜你喜欢
      • 2012-09-09
      • 1970-01-01
      • 2010-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多