You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TLS 1.2 RSA密钥无支持的CertificateVerify签名算法问题求助

问题成因
  • 你使用的Amazon Corretto 8u275版本JDK默认在jdk.tls.disabledAlgorithms配置中禁用了部分RSA签名算法(如SHA1withRSA),如果客户端握手时协商的签名算法落在禁用列表中,就会触发该报错。
  • Tomcat SSL连接器未显式配置支持的签名算法列表,默认仅继承JDK的允许列表,对仅支持旧签名算法的客户端兼容性不足。
  • 客户端侧仅支持低安全等级的RSA签名算法,与服务端允许的算法列表无交集,无法完成协商。
修复方案
  1. 调整JDK安全配置
    找到JRE安装路径下的jre/lib/security/java.security文件,定位到jdk.tls.disabledAlgorithms配置项,按需移除你需要兼容的算法禁用规则(如SHA1withRSA、RSA keySize < 2048等),不要直接清空整个配置,避免引入不必要的安全风险。

  2. 显式配置Tomcat SSL签名算法
    编辑Tomcat安装目录下的conf/server.xml,找到你正在使用的8080端口NIO连接器的SSL配置段,添加如下参数:

sslEnabledProtocols="TLSv1.2"
signatureAlgorithms="SHA256withRSA,SHA384withRSA,SHA512withRSA,SHA1withRSA"

可根据实际兼容需求调整算法列表,优先放置安全性更高的算法。

  1. 客户端升级(可选)
    如果允许调整客户端配置,可将客户端升级为支持SHA2及以上RSA签名算法的版本,无需降低服务端安全等级即可解决问题。
验证方法
  • 配置修改完成后重启Tomcat,复现之前的握手场景,确认日志中无相同报错
  • 可使用openssl s_client -connect 服务域名/IP:端口 -tls1_2命令手动测试TLS1.2握手,确认签名算法协商正常

内容的提问来源于stack exchange,提问作者Hans Xu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 20:48:04