为什么我的客户端无法与SSL / TLS安全通道建立信任关系?

时间:2016-07-18 14:06:05

标签: c# security ssl https

当我尝试使用URL HTTPS使用Web服务时,会导致出现此错误消息:

[SecurityNegotiationException:无法为具有权限的SSL / TLS安全通道建立信任关系。

我已经阅读了一个解决方案,在我的客户端程序(C#)和HTTPS地址之间接受这种信任:

System.Net.ServicePointManager.ServerCertificateValidationCallback += (sender, certificate, chain, sslPolicyErrors) => { return true; };

所以我的问题是为什么我的客户端无法与SSL / TLS安全通道建立信任关系?有人知道吗?因为这个解决方案似乎不安全。

1 个答案:

答案 0 :(得分:1)

如果您使用的是 .NET 内核,则可以设置CertificateValidationMode = X509CertificateValidationMode.NoneRevocationMode nocheck

client.ClientCredentials.ServiceCertificate.SslCertificateAuthentication =
    new X509ServiceCertificateAuthentication()
    {
        CertificateValidationMode = X509CertificateValidationMode.None,
        RevocationMode = System.Security.Cryptography.X509Certificates.X509RevocationMode.NoCheck
    };