2016-08-05 11 views
0

私たちは、スプリングブートベースのWebアプリケーションとWSO2 CEPフレームワークを使用しています。 AXIS2クライアントのホスト名検証または設定済みホスト名検証を無視するにはどうすればよいですか?AXIS2クライアントでホスト名検証またはセットアップ検証を無視する方法

我々は、JavaのHttpsURLConnection

HttpsURLConnection.setDefaultHostnameVerifier(new WildcardHostnameVerifier()); 

のためにこれを行うまたはApache HttpClientを

// setup a WildcardHostNameVerifier for support verifying the hostname of wildcard certificate 
    sslsf = new SSLConnectionSocketFactory(sslcontext, new WildcardHostnameVerifier()); 
    CloseableHttpClient httpClient = HttpClients.custom().setSSLSocketFactory(sslsf).build(); 

ため、このようしかしAXIS2クライアントのために行う方法がわからないことができ、我々は、セットアップへの道を発見しましたカスタマイズされたtrustMangerのみ。

final SSLContext sslCtx = SSLContext.getInstance("TLSv1.2"); 
sslCtx.init(null, new TrustManager[] { new CustomX509TrustManager() }, new SecureRandom()); 

stub._getServiceClient().getOptions().setProperty(HTTPConstants.CUSTOM_PROTOCOL_HANDLER, new Protocol("https", 
      (ProtocolSocketFactory) new SSLProtocolSocketFactory(sslCtx), 443)); 
+0

これは役に立ちますか? http://grepcode.com/file/repo1.maven.org/maven2/org.apache.axis2/axis2-kernel/1.4/org/apache/axis2/transport/nhttp/HttpCoreNIOSSLSender.java – ycr

+0

返信いただきありがとうございます、ycr 。これは私がそれを拡張し、verify()をカスタマイズすることができれば便利かもしれません。しかし、使用しているwso2-cep-client 1.0.10は、axis2-kernel 1.6.4との依存関係です。もうHttpCoreNIOSSLSenderがないようですね? – Bruce

+0

そして、SSLIOSessionHandlerを設定したらどうしたらいいですか?ありがとう – Bruce

答えて

0

あなたが見るthis blog postTrustAllTrustManager

SSLContext sslCtx = SSLContext.getInstance("http"); 
sslCtx.init(null, new TrustManager[] {new TrustAllTrustManager()}, null); 
stub._getServiceClient().getOptions().setProperty(HTTPConstants.CUSTOM_PROTOCOL_HANDLER, 
      new Protocol("https",(ProtocolSocketFactory)new SSLProtocolSocketFactory(sslCtx),443)); 

を使用することができます。

+0

こんにちはBhathiya、あなたの答えに感謝します。私は私たちの開発プロジェクトでこれを行っています。ただし、運用上は、セキュリティ上の理由からサーバー証明書を確認する必要があります。しかし、場合によっては、ホスト名が一致しないか、ワイルドカード証明書に一致する必要がある場合があります。 – Bruce

+0

ワイルドカードで証明書を作成できないのはなぜですか? – Bee

+0

証明書(two.abc.com)があるかもしれませんが、ホスト名が一致しない(localhostから接続するなど)ワイルドカード証明書(*。two.abc.com)がone.two.abc .comおよび/またはtwo.abc.com。 – Bruce

関連する問題