ベンダーによって制御される SOAP Web サービスのクライアントを構築しています。残念ながら、彼らの開発サーバーには、検証できない安全でない (自己署名された) 証明書があります。Apache Axis は、リクエストを行うたびに失敗します。SSL 検証エラーを無視する方法はありますか? 私は明らかにこれを本番環境で行いたくありませんが、私の開発環境では良いでしょう。
質問する
8143 次
2 に答える
2
証明書の検証を無効にしてみてください。リクエストの呼び出しを行う前に、以下のコードを入力してください -
// Create a trust manager that does not validate certificate chains
final TrustManager[] trustAllCerts = new TrustManager[]{new X509TrustManager() {
@Override
public java.security.cert.X509Certificate[] getAcceptedIssuers() {
return null;
}
@Override
public void checkClientTrusted(X509Certificate[] certs, String authType) {
}
@Override
public void checkServerTrusted(X509Certificate[] certs, String authType) {
}
}
};
// Install the all-trusting trust manager
try {
SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null, trustAllCerts, null);
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
} catch (Exception ex) {
// take action
}
于 2013-02-22T08:03:27.163 に答える