我有一个Web服务,当我测试时它可以正常工作,但是当我尝试在具有自我创建的ssl证书的客户端应用程序中使用它时,出现此错误

根据验证过程,远程证书无效。

说明:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪,以获取有关错误及其在代码中起源的更多信息。

System.Security.Authentication.AuthenticationException


我已经阅读了很多文档,并做了一些研究工作,但是还没有什么可以解决问题的。如果有人帮助我会很高兴

最佳答案

由于您的SSL证书是自签名的,因此您必须自定义验证证书。即使您已将此证书添加到“受信任的证书存储”中,仍然需要执行此操作。

这只是我的脑袋,但我认为应该是这样的:

ServerCertificateValidationCallback += new RemoteCertificateValidationCallback(ValidateRemoteCertificate);

private bool ValidateRemoteCertificate(object sender, X509Certificate cert, X509Chain chain, System.Net.Security.SslPolicyErrors sslPolicyErrors)
{
//Use sslPolicyErrors to check what the error is for the certificate.

//Validate your certificate.
//Check Hash for MiTM attack.

//Decide if it is good, then return true, else return false.
return true;
}

关于asp.net - Ssl System.Security.Authentication.AuthenticationException:,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24024176/

10-17 00:09