自签名证书.底层连接已关闭:无法建立信任关系

ada*_*dam 10 .net security iis web-services ssl-certificate

尝试为我们的Intranet的Web服务站点设置自签名证书.证书本身显示它是"ok"但是当尝试从Web服务调用方法时它会抛出错误,并且在添加Web引用时它会发出警告.

以下是步骤和一些屏幕截图,以确保我提供准确的信息.

Windows server 2003. IIS.该网站是"WebServices.companyName.vmc"

1

这是该站点的主机头

2

从服务器,它显示证书'确定'.

在此输入图像描述

以下是一些网站设置

在此输入图像描述


现在,在visual studio 2008中,添加Web引用

在此输入图像描述

单击弹出的"是"

在此输入图像描述

单击"否"到此弹出窗口,按顺序多次.

在此输入图像描述

代码行运行后,调用Web服务...我收到此错误

底层连接已关闭:无法为SSL/TLS安全通道建立信任关系.

当浏览器中的webservice站点,URL栏的小垫锁定时,会提供以下消息:

在此输入图像描述


这是我现有的代码:

Dim mySvc As New WebServices.InstantAccount
mySvc.calledFunction()
Run Code Online (Sandbox Code Playgroud)

编辑

对于有类似问题的人,请阅读iamkrillin的回答和我的答案......因为它们是解决问题的两种不同方式......取决于您可以控制的部分(代码或证书).

iam*_*lin 13

在创建服务客户端之前,在某处添加此行代码.

ServicePointManager.ServerCertificateValidationCallback = ((sender, certificate, chain, sslPolicyErrors) => true);
Run Code Online (Sandbox Code Playgroud)

请注意:这将导致您的应用程序接受所有无效的证书,并继续前进.如果这是不可接受的,您可以附加一个函数并进行处理以确定证书错误是否正常