2

ベンダーによって制御される SOAP Web サービスのクライアントを構築しています。残念ながら、彼らの開発サーバーには、検証できない安全でない (自己署名された) 証明書があります。Apache Axis は、リクエストを行うたびに失敗します。SSL 検証エラーを無視する方法はありますか? 私は明らかにこれを本番環境で行いたくありませんが、私の開発環境では良いでしょう。

4

2 に答える 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 に答える