SSL通讯-忽略证书认证错误

.NET的SSL通讯过程当中,使用的证书可能存在各类问题,某种状况下能够忽略证书的错误继续访问。能够用下面的方式跳过服务器证书验证,完成正常通讯。服务器

1.设置回调属性ServicePointManager.ServerCertificateValidationCallback函数

  注:这个属性设置为要用于客户端的服务器证书的自定义验证方法spa

       True:认证成功; False:认证失败。code

C#代码 blog

1 ServicePointManager.ServerCertificateValidationCallback =
2           new RemoteCertificateValidationCallback(
3                    OnRemoteCertificateValidationCallback); 

 VB.NET代码ssl

1 ServicePointManager.ServerCertificateValidationCallback = _
2           New RemoteCertificateValidationCallback( _
3                     AddressOf OnRemoteCertificateValidationCallback) 

2.把证书认证函数OnRemoteCertificateValidationCallback返回值Trueio

C#代码class

1 // 忽略证书认证错误处理的函数
2 private bool OnRemoteCertificateValidationCallback(
3   Object sender,
4   X509Certificate certificate,
5   X509Chain chain,
6   SslPolicyErrors sslPolicyErrors)
7 {
8   return true;  // 认证正常,没有错误
9 } 

VB.NET代码方法

' 忽略证书认证错误处理的函数
Private Function OnRemoteCertificateValidationCallback( _
  ByVal sender As Object, _
  ByVal certificate As X509Certificate, _
  ByVal chain As X509Chain, _
  ByVal sslPolicyErrors As SslPolicyErrors _
) As Boolean
  Return True  ' 认证正常,没有错误
End Function
相关文章
相关标签/搜索