public static bool ValidateServerCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) { if (sslPolicyErrors == SslPolicyErrors.RemoteCertificateChainErrors) { return(false); } else if (sslPolicyErrors == SslPolicyErrors.RemoteCertificateNameMismatch) { System.Security.Policy.Zone z = System.Security.Policy.Zone.CreateFromUrl (((HttpWebRequest)sender).RequestUri.ToString()); if (z.SecurityZone == System.Security.SecurityZone.Intranet || z.SecurityZone == System.Security.SecurityZone.MyComputer) { return(true); } return(false); } return(true); }
public static bool IsBlocked(string Name) { bool zone_bool; System.Security.Policy.Zone my_zone = System.Security.Policy.Zone.CreateFromUrl(Name); if (my_zone.SecurityZone != System.Security.SecurityZone.MyComputer) { zone_bool = true; } else { zone_bool = false; } return(zone_bool); }
/// <summary> /// Certificate validator. /// </summary> /// <param name="sender">The current sender.</param> /// <param name="certificate">The certificate</param> /// <param name="chain">The certificate chain.</param> /// <param name="sslPolicyErrors">The policy error.</param> /// <returns>True if the certificate is valid else false.</returns> private bool OnCertificateValidation(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) { // Create a new instance of the x509 certificate // information class. _sslCertificate = new Nequeo.Security.X509Certificate2Info( certificate as X509Certificate2, chain, sslPolicyErrors); // Get the current error level. if (sslPolicyErrors == SslPolicyErrors.None) { return(true); } else if (sslPolicyErrors == SslPolicyErrors.RemoteCertificateNotAvailable) { return(false); } else if (sslPolicyErrors == SslPolicyErrors.RemoteCertificateChainErrors) { return(false); } else { //Remote Certificate Name Mismatch System.Security.Policy.Zone z = System.Security.Policy.Zone.CreateFromUrl(((HttpWebRequest)sender).RequestUri.ToString()); // Get the security zone for // the current request URI. if (z.SecurityZone == System.Security.SecurityZone.Intranet || z.SecurityZone == System.Security.SecurityZone.MyComputer || z.SecurityZone == System.Security.SecurityZone.NoZone || z.SecurityZone == System.Security.SecurityZone.Trusted) { return(true); } // Return false otherwise. return(false); } }