2012-01-31 3 views
0

javaの軸を使用してwebserviceを消費しています。 Webサービスはhttpsにあり、私は証明書のチェックを避けたい。私はこのフォーラムで、これを私のコードに載せるための解決策を見つけました:軸偽証明書

AxisProperties.setProperty("axis.socketSecureFactory","org.apache.axis.components.net.SunFakeTrustSocketFactory"); 

私はそれを試しましたが、成功しませんでした。私は何かが欠けアム

main, handling exception: javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake 

System.setProperty("javax.net.debug", "all");を、私は、ログの初めにこれを参照してください:私が有効になっている

trigger seeding of SecureRandom 
done seeding SecureRandom 
%% No cached client session 
*** ClientHello, TLSv1 ...... 

を、最後にそれがエラーを与えますか? SecureSocketFactoryおよび方法にcreateこれを行うに:無効-INGのプロトコルについて

+0

AxisProperties.setProperty()の代わりに 'System.setProperty()'を試してみましたか? – Tshepang

+0

はい、私も同じことを試しました – edi843

+20

[研究論文](http://www.cs.utexas.edu/~shmat/shmat_ccs12.pdf)でSSLの使用が強調されていることをご存知ですか? (セクション10)? – Basic

答えて

-1

を実装するクラスを構築する必要がある ((のSSLSocket)のSSLSocket).setEnabledProtocolsを(新しいString [] { "のSSLv3"、 " TLSv1 "}); これは、JSSESocketFactoryから実装された実装を使用するとよいでしょう。 この問題の解決策は次の通りです:link