• SSL通信-忽略证书认证错误


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

    1.设置回调属性ServicePointManager.ServerCertificateValidationCallback

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

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

    C#代码

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

     VB.NET代码

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

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

    C#代码

    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
  • 相关阅读:
    Python(条件判断和循环)
    大端还是小端
    c语言程序设计 字符串拷贝拷贝演变与初衷
    内存 匹配串
    多态 C2
    多态 C1
    判断是否存在不合法字符(C++)
    va_start、vsprintf、va_end
    java中instanceof用法
    c++ vector相关
  • 原文地址:https://www.cnblogs.com/duanh/p/5781839.html
Copyright © 2020-2023  润新知