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

Chrome报ERR_SSL_VERSION_OR_CIPHER_MISMATCH但Firefox可连接的问题咨询

TLS握手失败问题排查与解决

问题背景

连接自签名CA签发证书的本地服务器时,Chrome报错ERR_SSL_VERSION_OR_CIPHER_MISMATCH,服务器日志显示:

[2024-04-02T00:34:30.493881Z ERROR pingora_core::services::listening]
Downstream handshake error  TLSHandshakeFailure context: TLS accept()
failed: error:0A000076:SSL routines:tls_choose_sigalg:no suitable
signature algorithm:ssl/t1_lib.c:3725:

服务器证书关键信息:

  • 签名算法:ecdsa-with-SHA512
  • 公钥算法:id-ecPublicKey(521位,secp521r1/P-521曲线)

对比Firefox(可正常连接)和Chrome的Client Hello消息,发现核心差异:Chrome发送的签名算法扩展(id=13)不含ECDSA/SECP521r1/SHA512的编码06 03,而Firefox包含该编码。

Chrome的Client Hello签名算法部分:

TLS client extension "signature algorithms" (id=13), len=18
0000 - 00 10 04 03 08 04 04 01-05 03 08 05 05 01 08 06   ................
0010 - 06 01                                             ..

Firefox的Client Hello签名算法部分:

TLS client extension "signature algorithms" (id=13), len=24
0000 - 00 16 04 03 05 03 06 03-08 04 08 05 08 06 04 01   ................
0010 - 05 01 06 01 02 03 02 01-                          ........

问题解答

1. 这是什么情况?Chrome不支持ecdsa-with-SHA512签名算法吗?

Chrome并非完全不支持ecdsa-with-SHA512,但它默认不包含针对secp521r1(P-521)曲线的SHA512签名算法组合。你的服务器证书使用的是secp521r1曲线+SHA512签名,Chrome的Client Hello里没有对应的匹配项,导致握手时双方找不到共同支持的签名算法,最终失败。

2. 如何查看Chrome支持哪些签名算法?

有两种实用方法:

  • 日志排查法:在Chrome启动参数中添加--ssl-version-max=tls1.3 --log-net-log=chrome_ssl_log.json,启动后访问任意HTTPS站点,然后在地址栏输入chrome://net-export/导入日志文件,查看Client Hello中的签名算法列表。
  • 在线检测法:使用TLS握手检测类工具,查看Chrome作为客户端上报的签名算法集合。

3. 它不支持该算法是否有特定原因?

主要有两点:

  1. 性能与安全的平衡:P-521是NIST定义的最高级别椭圆曲线,SHA512也是高强度哈希算法,二者组合的计算开销远高于P-256/SHA256这类主流组合,而后者已能满足绝大多数场景的安全需求,Chrome默认不开启该组合以兼顾性能。
  2. 应用场景稀缺:目前使用P-521+SHA512组合的服务极少,Chrome团队认为默认支持的必要性不高,因此未将其纳入默认签名算法列表。

4. 有没有办法让Chrome能够正常连接该服务器?

有两种可行方案:

  • 修改服务器证书(推荐):重新签发使用secp256r1(P-256)+SHA256或secp384r1(P-384)+SHA384组合的证书,这两种组合是Chrome默认支持的,既能保证安全,也能兼容所有主流浏览器。
  • 修改Chrome启动参数:如果必须保留现有证书,可在Chrome快捷方式中添加启动参数--ssl-signature-algorithms=ecdsa_secp521r1_sha512,ecdsa_secp384r1_sha384,ecdsa_secp256r1_sha256(可补充其他需要的算法),强制Chrome启用该算法组合。注意:此方法仅适合本地测试,不建议日常使用,会增加性能开销且可能带来不必要的安全暴露面。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 18:07:05