覆盖HTTPS证书

时间:2017-12-13 15:57:12

标签: c# ssl soap https

我正在使用URL来使用SOAP连接Web服务。显然,URL没有正确的POST协议,如果我想通过浏览器访问它,我需要接受此连接的“风险”。

当我想以编程方式访问时,我的问题就出现了。当我尝试发送SOAP ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, sslPolicyErrors) => true;请求时,关闭连接并捕获异常。

  

“基础连接已关闭:无法为SSL / TLS安全通道建立信任关系。”

显然这个问题很常见,可以找到很多资源,thisthis是最受欢迎的。

当我尝试这部分代码时:

https

不仅连接不起作用,而且现在给了我一个:

  

“远程服务器返回错误:(500)内部服务器错误。”

现在我的问题是。上面的代码将协议从http切换到.push(){}

如果不是这行代码真正做到了什么?

1 个答案:

答案 0 :(得分:0)

我不知道这是否是您的答案,但因为它不适合发表评论......

不要绕过证书验证。您可能只需要设置正确的TLS版本。您可以通过实验找到支持的最高版本,而不是将它们组合在一起。:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12

如果这不起作用,您可能需要获得证书,证书服务使用的证书或证书链中较高的证书。