跳到主要内容
ecdsa.com

signature_algorithms 扩展

一种 TLS 扩展(编号 13):客户端或服务器在其中列出自己接受的签名方案,例如 ecdsa_secp256r1_sha256、rsa_pss_rsae_sha256 和 ed25519;证书签名则由 signature_algorithms_cert(编号 50)单独涵盖。
其他写法signature_algorithmssignature_algorithms_certSignatureScheme

每个方案是一个两字节的代码,标明算法、曲线和哈希:ecdsa_secp256r1_sha256(0x0403)、ecdsa_secp384r1_sha384(0x0503)、rsa_pss_rsae_sha256(0x0804)、rsa_pss_pss_sha256(0x0809)、ed25519(0x0807)、ed448(0x0808)、rsa_pkcs1_sha256(0x0401)。在 TLS 1.3 中,rsa_pkcs1_* 方案只能出现在证书签名中,绝不能用于 CertificateVerify。

服务器必须找到客户端接受的证书与方案组合;失败时会报出 no shared signature algorithms 或 handshake_failure。服务器可以同时持有 ECDSA 证书和 RSA 证书,并依据这份列表选择。后量子签名方案(ML-DSA、复合变体)的 TLS 码点一旦标准化,也将在这里协商。

标准与参考资料

全部术语