私は現在、すべての証明書を一時的な「解決策」(安全でないもの)として許可するために、X509TrustManagerをオーバーライドしています。私は、私が問題を抱えている特定の証明書を受け入れるように、追加する方法について考えてみようとしています。ここに現在のコードがあります。X509TrustManagerすべての証明書を許可せずにオーバーライドしますか?
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());
}
なぜ空の配列の代わりにnullを返しますか?スペックはnullでない配列を返すと言います。 – Jayen