を使用して JAX-WS クライアントで証明書の検証を無効にするにはどうすればよいでしょうかjavax.xml.ws.Service
?
SSLSocketFactoryで完全に信頼できるTrustManagerを作成し、BindingProviderにバインドしようとしました
SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null, trustAllCerts, new java.security.SecureRandom());
Map<String, Object> ctxt = ((BindingProvider) wsport ).getRequestContext();
ctxt.put(JAXWSProperties.SSL_SOCKET_FACTORY, sc.getSocketFactory());
しかし、私はまだException: unable to find valid certification path to requested target
しかし、私が使うと
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
javax.xml.ws.Service
または、私が作成したを利用する方法はありますかHttpsURLConnection
?
ベストアンサー1
ここで解決策を見つけました:http://schrepfler.blogspot.com.br/2009/06/relaxing-ssl-validation-for-jaxws.html
私は、メイン クラスの静的ブロックで 2 つの静的メソッドを呼び出すソリューションを使用しています。
static {
SSLUtilities.trustAllHostnames();
SSLUtilities.trustAllHttpsCertificates();
}
お役に立てれば
編集:デビッド・J・リシェフスキーが指摘したように、これはこのJVMからのすべての接続のSSL/TLSを切断します。 ですから、それを心に留めておいてください。