Actualmente estoy anulando X509TrustManager para permitir que todos los certs sean temporalmente una 'solución' (algo inseguro). Estoy tratando de descubrir cómo voy a agregar, así que acepta solo un cert específico con el que estoy teniendo problemas hasta que se pueda hacer una corrección adecuada (que está fuera de mis manos en este momento). Aquí está el código actual.X509TrustManager ¿Invalidar sin permitir TODOS los certificados?
TrustManager[] trustAllCerts = new TrustManager[]{new X509TrustManager() {
@Override
public java.security.cert.X509Certificate[] getAcceptedIssuers() {
return null;
}
@Override
public void checkClientTrusted(java.security.cert.X509Certificate[] certs, String authType) {
}
@Override
public void checkServerTrusted(java.security.cert.X509Certificate[] certs, String authType) {
}
}};
try {
SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null, trustAllCerts, new java.security.SecureRandom());
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
} catch (GeneralSecurityException e) {
System.out.println(e.getStackTrace());
}
¿por qué devolver nulo en lugar de una matriz vacía? la especificación dice que devuelva una matriz no nula. – Jayen