首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >WebService系列之SSL异常handshake failure处理方法

WebService系列之SSL异常handshake failure处理方法

作者头像
SmileNicky
修改2025-07-02 17:28:28
修改2025-07-02 17:28:28
3.5K00
代码可运行
举报
文章被收录于专栏:Nicky's blogNicky's blog
运行总次数:0
代码可运行

WebService系列之SSL异常handshake failure处理方法

最近在使用axis调用一个https的接口,调用时候一直报异常:

javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure

网上说法有设置TLS:

代码语言:javascript
代码运行次数:0
运行
复制
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:

  • 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,然后在这句话下面加上:

代码语言:javascript
代码运行次数:0
运行
复制
security.provider.10=org.bouncycastle.jce.provider.BouncyCastleProvider
  • 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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/12/17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档