自己署名入りのHTTPSサーバーに接続するいくつかのサンプルJavaプロジェクトを作成しようとしています。 Javaで証明書の検証をやめさせることはできません。私はこの証明書を信頼する必要はありません、私はちょうどすべての証明書の検証を無視したいです。このサーバーは私のネットワークの内側にあり、証明書が有効かどうかを気にせずにいくつかのテストアプリケーションを実行できるようにしたいと考えています。Javaは証明書の検証を無視します
java -Dcom.sun.net.ssl.checkRevocation=false HelloWorld
org.apache.axis2.AxisFault: Connection has been shutdown: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
= falseを-Dcom.sun.net.ssl.checkRevocationは助けにはなりませんでした。
public static void DisableCertificateValidation() {
TrustManager[] trustAllCerts = new TrustManager[]{
new X509TrustManager() {
public X509Certificate[] getAcceptedIssuers() { return null; }
public void checkClientTrusted(X509Certificate[] certs, String authType) { }
public void checkServerTrusted(X509Certificate[] certs, String authType) { }
}
};
try {
SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null, trustAllCerts, new java.security.SecureRandom());
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
} catch (Exception e) {
}
}
しかし、まだ同じ問題を持っている:私はまた、次のコードを追加してみました。何が起きてる?
axis2で証明書を無視できましたか? Josip – cromorrissey