jdk8调用第三方接口出现握手失败(Received fatal alert: handshake_failure)
1.java for循环内部使用线程
2.jdk8调用第三方接口出现握手失败(Received fatal alert: handshake_failure)
1、记一次错误
1、问题出现的场景
1、 通过java代码调用第三方接口,出现这个ssl认证,握手失败。我的jdk版本是1.8_131版本出现的
错误提示: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
2、我通过curl命令在服务器上调用是可以的,能完整的返回数据。以及浏览器访问都可以能拿到返回的数据。
2、常见的问题
1、使用AES加解密
- 异常1:
java.security.InvalidKeyException: Illegal key size or default parameters
- 异常2:
java.lang.SecurityException: JCE cannot authenticate the provider BC
2、安全性机制导致的访问https会报错
Received fatal alert: handshake_failure; nested exception is javax.net.ssl.SSLHandshakeException:
Received fatal alert: handshake_failure,accessUrl
这是因为某些国家的进口管制限制,JDK默认的加解密有一定的限制。
3、解决思路:
比如默认不允许 256 位密钥的 AES 加解密,解决方法就下载官方JCE无限制强度加密策略文件,覆盖即可。
官网提供的下载版本:
JDK6的下载地址
JDK7的下载地址
JDK8的下载地址
4、覆盖JCE
1、在上数网站下载对应的版本jce文件
2、进入JDK安装目录下的(改成自己的安装目录)
E:\Program Files\Java\jdk1.8.0_131\jre\lib\security
5、问题解决
如上述问题解决不掉,可以看一下这个连接
本文作者:心之所向
本文链接:https://www.cnblogs.com/cmsdnbog/p/18399778
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
2023-09-06 Stream流