WebService系列之SSL异常handshake failure处理方法
WebService系列之SSL异常handshake failure处理方法
最近在使用axis调用一个https的接口,调用时候一直报异常:
javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
网上说法有设置TLS:
System.setProperty("https.protocols", "TLSv1.2,TLSv1.1,TLSv1.0,SSLv3");
- 1
不过抛出异常,需要注意,如果是jdk8就不需要设置TLSv1.0,jdk6有些版本不能设置TLSv1.1
不同版本jdk对TLS验证是有差别的:oracle官网博客Diagnosing TLS, SSL, and HTTPS列出了差别
然而这种设置TLS协议方法并不能处理问题,然后在https://stackoverflow.com/,找到方法:
意思是需要下载oracle官网的jar:
- jdk6:下载bcprov-ext-jdk15on-154.jar、bcprov-jdk15on-154.jar这两个jar
下载链接:bcprov-ext-jdk15on-154.jar、bcprov-jdk15on-154.jar
下载之后,将两个jar放在$JAVA_HOME/jre/lib/ext
,找到找到security.provider.9,然后在这句话下面加上:
security.provider.10=org.bouncycastle.jce.provider.BouncyCastleProvider
- 1
- jdk7:下载javase-jce7.jar
下载链接:http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html
下载之后将jar丢在{JAVA_HOME}/jre/lib/security
- jdk8:下载javase-jce8.jar
https://www.oracle.com/java/technologies/javase-jce8-downloads.html
下载之后将jar丢在{JAVA_HOME}/jre/lib/security
参考资料:
解决 JAVAX.NET.SSL.SSLEXCEPTION: JAVA.LANG.RUNTIMEEXCEPTION: COULD NOT GENERATE DH KEYPAIR
https://www.cnblogs.com/yinliang/p/9929595.html
文章来源: smilenicky.blog.csdn.net,作者:smileNicky,版权归原作者所有,如需转载,请联系作者。
原文链接:smilenicky.blog.csdn.net/article/details/111311208
- 点赞
- 收藏
- 关注作者
评论(0)