System.Net.CertificatePolicy to ServerCertificateValidationCallback Accept all certificate policies

流过昼夜 提交于 2019-11-30 07:13:24

Include the following class in your code

 public static class SSLValidator
        {
            private static bool OnValidateCertificate(object sender, X509Certificate certificate, X509Chain chain,
                                                      SslPolicyErrors sslPolicyErrors)
            {
                return true;
            }
            public static void OverrideValidation()
            {
                ServicePointManager.ServerCertificateValidationCallback =
                    OnValidateCertificate;
                ServicePointManager.Expect100Continue = true;
            }
        }

Then call the following before you make service call but be careful to remove this code on the production when you have real certs

SSLValidator.OverrideValidation();  

Or you can do the following to use it only for debugging

#if DEBUG

            SSLValidator.OverrideValidation();
#endif 
BozoJoe

I use the following when connecting to other web services.

//workaround for SSL certificate issue
ServicePointManager.ServerCertificateValidationCallback = 
  (sender, certificate, chain, sslPolicyErrors) => { return true; };

per comments I need to add to the blurb - DO NOT DO THIS IN PRODUCTION (if you do - please send $500 to my paypal account)

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!