System.Net.CertificatePolicy to ServerCertificateValidationCallback Accept all certificate policies
.net, c#, ssl-certificate, x509certificate
Solution
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
Problem
I've downloaded some sample code that is a bit outdated. It has the following class: ``` public class TrustAllCertificatePolicy : System.Net.ICertificatePolicy { public TrustAllCertificatePolicy() { } public bool CheckValidationResult(ServicePoint sp, System.Security.Cryptography.X509Certificates.X509Certificate cert, WebRequest req, int problem) { return true; } } ``` later on in the code it calls the following: ``` System.Net.ServicePointManager.CertificatePolicy = new TrustAllCertificatePolicy(); ``` It gives the following warning: Warning 1 'System.Net.ServicePointManager.CertificatePolicy' is obsolete: 'CertificatePolicy is obsoleted for this type, please use ServerCertificateValidationCallback instead. http://go.microsoft.com/fwlink/?linkid=14202' What is the current procedure to achieve the equivalent functionality? I've read an article on MSDN but I'm unsure of how to convert? This is for a class library. I appologize if it seems as though I havn't researched this enough but when it comes to ssl certificates, it's a bit out of my realm. Any help is greatly appreciated!