我在java
上使用轴来消费webservice
。 Web服务是https,我想避免检查证书。我在这个论坛中找到了一个解决方案,告诉我把它放在我的代码上:
AxisProperties.setProperty("axis.socketSecureFactory","org.apache.axis.components.net.SunFakeTrustSocketFactory");
我尝试了但没有成功。我启用了System.setProperty("javax.net.debug", "all");
,我在日志的开头看到了这个:
trigger seeding of SecureRandom
done seeding SecureRandom
%% No cached client session
*** ClientHello, TLSv1 ......
最后它给出了一个错误:
main, handling exception: javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
我错过了什么吗?
答案 0 :(得分:-1)
对于禁用协议,必须构建一个实现:SecureSocketFactory的类,并在方法create
中执行此操作:
((SSLSocket)sslSocket)。setEnabledProtocols(new String [] {“SSLv3”,“TLSv1”});
这可能是一个好的开始,你可以使用从JSSESocketFactory完成的实现。
解决方案的基础是这个问题:link