SSLException: Received fatal alert异常引发的思考

在公司与其他公司业务对接过程中,由于对方升级JDK导致调用HTTPS接口时出现SSLException: Received fatal alert。问题本质是不同JDK版本默认加密策略差异,使得连接握手失败。通过nmap工具分析JDK支持的加密策略,发现本地JDK的配置与对方不匹配。解决方案包括修改本地JDK加密算法设置或调整服务器Tomcat的HTTPS配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

出现问题的背景

我们公司和其他公司有业务往来,我们需要调用他们的Https的接口,前期测试调用他们的接口一切正常,后期对接的过程中,他们升级了JDK版本,然后Java接口崩了,调试发现控制台打印出SSLException: Received fatal alert: 信息,然后开始进入了百度和谷歌之旅。

问题出现转机

茫茫的博客看得一头雾水,尽管做尽尝试,没一篇能解决得了我当前遇到的问题,直到这篇博客出现在眼前https://www.jianshu.com/p/acbfea5ec597,脑袋了多了一份思考,尽管第一次看得时候有点迷茫,多次翻阅突然顿悟其中应该关注的问题点(https连接握手失败,要么协议有问题,要么协议加密算法有问题,要么证书签名有问题)。

产生错误的本质原因

https协议通讯是由tomcat服务器实现的,而tomcat是由java编写的,所以tomcat的运行依赖jdk的环境,其实说白了就是依赖JDK的一些安全机制算法,这就解释了为什么对方升级JDK环境会导致我们java接口的崩溃,尽管我们和对方的JDK都是1.8版本(我们1.8_162,他们1.8_242),但是不同版本的JDK默认的加密策略略有不同,JDK之所以出现这种问题,是因为某些国家法律上限制了某些加密策略。由上所述,这就可能导致了一个问题:我们本地JDK支持的加密策略,对方不支持,导致了tomcat无法建立合法的https连接,所以我们本地看到这个异常SSLException: Received fatal alert。

如何查看Tomcat如何支持支持的加密策略

我所使用的工具是nmap ,具体操作流程可以参考这篇博客,博客里面详细介绍其中的简单的用法https://emacsist.github.io/2017/03/02/https.protocols%E5%9C%A8java%E4%B8%AD%E7%9A%84%E4%BD%BF%E7%94%A8/,使用nmap可以探测出他们1.8_242版本的JDK所支持ht

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值