Como saltarse los certificados al hacer conexiones HTTPS

Noviembre 20, 2008 :: Posted by - Emilio Torrens :: Category - ,

Si queremos hacer peticiones a un sitio https y no tenemos el certificado o no queremos usarlo la manera es la siguiente:

1- Crear una clase que implemente ICertificatePolicy donde la validación siempre devuelva true para pasársela al  CertificatePolicy del ServicePointManager

 public class TrustAllCertificatePolicy :ICertificatePolicy
    {
        public TrustAllCertificatePolicy()
        {
        }

        #region ICertificatePolicy Members

        public bool CheckValidationResult(ServicePoint sp,
                      X509Certificate cert,
                      WebRequest req,
                      int problem)
        {
            return true;
        }

        #endregion
    }

2-Pasarle la clase al ServicePointManager antes de hacer la petición

HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
ServicePointManager.CertificatePolicy = new TrustAllCertificatePolicy();

A partir de eso podemos hacer las peticiones sin el certificado.

Si te gusta compartelo ...
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • DotNetKicks
  • Live
  • MySpace
  • Meneame
  • Twitter

Tags: ,

Leave a Reply