前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WebService系列之SSL异常handshake failure处理方法

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

作者头像
SmileNicky
发布2020-12-21 10:26:50
2.6K0
发布2020-12-21 10:26:50
举报
文章被收录于专栏:Nicky's blogNicky's blog

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

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

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

网上说法有设置TLS:

代码语言:javascript
复制
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,然后在这句话下面加上:

代码语言:javascript
复制
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 条评论
热度
最新
推荐阅读
相关产品与服务
SSL 证书
腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档