Validation.cs
using System.Collections.Generic;
using System.Net; using System.Net.Security; using System.Security.Cryptography.X509Certificates; public static class SSLValidator { private static Stack<RemoteCertificateValidationCallback> funcs = new Stack<RemoteCertificateValidationCallback>(); private static bool OnValidateCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) { return true; } public static void OverrideValidation() { funcs.Push(ServicePointManager.ServerCertificateValidationCallback); ServicePointManager.ServerCertificateValidationCallback = OnValidateCertificate; } public static void RestoreValidation() { if (funcs.Count > 0) { ServicePointManager.ServerCertificateValidationCallback = funcs.Pop(); } } } |