当我尝试使用URL HTTPS使用Web服务时,会导致出现此错误消息:
[SecurityNegotiationException:无法为具有权限的SSL / TLS安全通道建立信任关系。
我已经阅读了一个解决方案,在我的客户端程序(C#)和HTTPS地址之间接受这种信任:
System.Net.ServicePointManager.ServerCertificateValidationCallback += (sender, certificate, chain, sslPolicyErrors) => { return true; };
所以我的问题是为什么我的客户端无法与SSL / TLS安全通道建立信任关系?有人知道吗?因为这个解决方案似乎不安全。
答案 0 :(得分:1)
如果您使用的是 .NET 内核,则可以设置CertificateValidationMode = X509CertificateValidationMode.None
和RevocationMode nocheck
client.ClientCredentials.ServiceCertificate.SslCertificateAuthentication =
new X509ServiceCertificateAuthentication()
{
CertificateValidationMode = X509CertificateValidationMode.None,
RevocationMode = System.Security.Cryptography.X509Certificates.X509RevocationMode.NoCheck
};