Web服务的Web异常

时间:2010-12-21 11:38:54

标签: c# web-services ssl-certificate

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

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

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

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

感谢您的时间。

2 个答案:

答案 0 :(得分:1)

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

  1. 从受信任的certificate authority (CA)

  2. 购买SSL证书
  3. 将服务器的SSL证书添加到运行应用程序的用户(或运行应用程序的计算机的受信任人员)证书存储区(LocalMacine / TrustedPeople)

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

答案 1 :(得分:1)

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

相关问题