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");

不过抛出异常,需要注意,如果是jdk8就不需要设置TLSv1.0,jdk6有些版本不能设置TLSv1.1

不同版本jdk对TLS验证是有差别的:oracle官网博客Diagnosing TLS, SSL, and HTTPS列出了差别
在这里插入图片描述
在这里插入图片描述
然而这种设置TLS协议方法并不能处理问题,然后在https://stackoverflow.com/,找到方法:
在这里插入图片描述
意思是需要下载oracle官网的jar:

下载之后,将两个jar放在$JAVA_HOME/jre/lib/ext,找到找到security.provider.9,然后在这句话下面加上:

security.provider.10=org.bouncycastle.jce.provider.BouncyCastleProvider

参考资料:
解决 JAVAX.NET.SSL.SSLEXCEPTION: JAVA.LANG.RUNTIMEEXCEPTION: COULD NOT GENERATE DH KEYPAIR
https://www.cnblogs.com/yinliang/p/9929595.html

smileNicky CSDN认证博客专家 分布式 Java Spring
java程序员,软件工程专业,专注于sql调优,SpringBoot,spring框架学习,个人邮箱nickypm@foxmail.com,公众号nickymp
已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 岁月 设计师:pinMode 返回首页
实付 9.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值