Ich überschreibe derzeit X509TrustManager, um alle Zertifikate als eine vorübergehende "Lösung" (eine unsichere) zu ermöglichen. Ich versuche herauszufinden, wie ich hinzufügen würde, so akzeptiert es nur ein bestimmtes Zertifikat, mit dem ich Probleme habe, bis eine angemessene Lösung gefunden werden kann (was mir momentan nicht möglich ist). Hier ist der aktuelle Code.X509TrustManager überschreiben, ohne ALL certs zuzulassen?
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());
}
warum Null anstelle eines leeren Arrays zurückgeben? Die Spezifikation besagt, dass ein Array ungleich null zurückgegeben wird. – Jayen