Ssl System.Security.Authentication.AuthenticationException:

时间:2014-06-03 20:16:25

标签: asp.net web-services ssl iis-7 asmx

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

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

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

System.Security.Authentication.AuthenticationException

我已阅读了如此多的文档并进行了一些研究工作,但还没有什么能解决问题。如果有人帮忙的话,我会感到高兴。

1 个答案:

答案 0 :(得分:1)

由于您的SSL证书是自签名的,因此您必须自定义验证证书。即使您已将此证书添加到Trusted Ceritifcate Store,您仍需要执行此操作。

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

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;
}