Entradas con la etiqueta ‘certificados’

Eliminar la validación del servidor en conexiones HTTPS

Lunes, 23 de marzo de 2009

Al realizar una conexión segura (https), se valida que el servidor es quien dice ser mediante el envio de un certificado que el cliente tiene que conocer. Si lo que quieres es confiar siempre en todos los certificados, este código te puede ser util.

// Crear un gestor de certificados que no valida si el certificado esta en el
// almacen de certificados de confianza.
TrustManager[] trustAllCerts = new TrustManager[]{
   new X509TrustManager() {
      public java.security.cert.X509Certificate[] getAcceptedIssuers() {
         return null;
      }
 
      public void checkClientTrusted(java.security.cert.X509Certificate[] certs, String authType) {
      }
 
      public void checkServerTrusted(java.security.cert.X509Certificate[] certs, String authType) {
      }
   }
};
 
// Instalar el gestor de certificados.
try {
   SSLContext sc = SSLContext.getInstance("SSL");
   sc.init(null, trustAllCerts, new java.security.SecureRandom());
   HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
} catch (Exception e) {
}

Etiquetas: , , , , ,