跳到主要内容
ecdsa.com

证书序列号

在 CRL、OCSP 请求和事件报告中用于标识证书的正整数,在同一颁发者内唯一,长度不超过 20 个八位组。
其他写法serialNumbercertificate serial

RFC 5280 §4.1.2.2 要求序列号为正数且在同一 CA 内唯一,并把长度限制在 20 个八位组以内。《基线要求》还规定,公共 TLS 证书的序列号不得按顺序分配,必须小于 2¹⁵⁹,并且至少包含 64 位 CSPRNG 输出。这种随机性使针对证书签名的选择前缀碰撞攻击无法实际实施,这是2008年那次 MD5 伪造 CA 攻击留下的教训。

2019年,几家 CA 发现它们的软件只生成了 63 个随机位(为保证整数为正,最高位被强制设为零),不得不吊销并更换数百万张证书。预证书与其最终证书共用同一个序列号。

大多数工具(openssl x509 -serial)以十六进制显示序列号,有的带冒号和前导零,有的不带,这也是在不同系统之间复制的序列号看似对不上的常见原因。

标准与参考资料

全部术语