我开发了一个客户端应用程序来使用Web服务,
我的代码中没有错误,但是当我调试时,我得到以下异常,
'WebException未处理 - 底层连接已关闭:无法为SSL / TLS安全通道 Build 信任关系 .
我认为这与我正在尝试使用的安全Web服务这一事实有关,所以我的问题是,由于安全证书未正确安装会发生此错误吗?如果有,是否有办法手动将证书安装到应用程序中?
谢谢你的时间 .
这基本上是一个缺少信任的问题 . 服务器的ssl证书需要由使用客户端信任 . 有两种方法可以解决这个问题:
从受信任的certificate authority (CA)购买SSL证书
将服务器的SSL证书添加到运行应用程序的用户(或运行应用程序的计算机的受信任人员)证书存储区(LocalMacine / TrustedPeople))
您可以使用X509CertificateStore类以编程方式将证书添加到相应的存储,因此基本上您可以使用您的应用程序分发服务器的ssl证书的公钥,并在需要时安装它 .
我同意@Klaus Byskov Hoffmann但是想补充一下他的回答 . 如果用于访问服务的服务器域名与分配给它的证书不完全相同,也可能发生这种情况 . 即使两个名称都适用于计算机,它也会使证书无效 .
2 回答
这基本上是一个缺少信任的问题 . 服务器的ssl证书需要由使用客户端信任 . 有两种方法可以解决这个问题:
从受信任的certificate authority (CA)购买SSL证书
将服务器的SSL证书添加到运行应用程序的用户(或运行应用程序的计算机的受信任人员)证书存储区(LocalMacine / TrustedPeople))
您可以使用X509CertificateStore类以编程方式将证书添加到相应的存储,因此基本上您可以使用您的应用程序分发服务器的ssl证书的公钥,并在需要时安装它 .
我同意@Klaus Byskov Hoffmann但是想补充一下他的回答 . 如果用于访问服务的服务器域名与分配给它的证书不完全相同,也可能发生这种情况 . 即使两个名称都适用于计算机,它也会使证书无效 .