理论上,CA 可以制作一个有效期任意长的证书吗?

jca*_*219 6 ssl-certificate certificate-authority

换句话说,例如,CA 是否可以颁发有效期为 2 千年的证书?

Jas*_*tin 11

如果 CA 的根证书有一个适当长的到期时间,他们可以颁发同样长的证书。即使子证书的过期时间更长,CA 颁发的证书的有效期也不会长于根证书。


eck*_*kes 8

作为 CA,您可以在 X.509 证书中放置任何最佳使用日期。事实上,您甚至可以跳过该约束。

问题是哪个客户会接受它们。这取决于软件包、软件版本、客户端配置以及可能取决于上下文中的其他内容,例如时间戳、透明度日志、CA 根和中间体的有效期、CA 根的实际类型(公共或自定义),密钥长度、CRL 新鲜度和 OCSP 内容等。所以不看这一切很难知道。

但是,CA Browser Forum 基准要求只要求您提供最长 39 个月的有效期。依赖证书的兼容 Web 浏览器很可能会强制执行此操作并在此日期之后停止信任(或从不信任它们):

CA-Browser-Forum-BR 1.4.2 的第 6.3.2 节中:

2015 年 4 月 1 日之后颁发的订户证书必须具有不超过 39 个月的有效期。

可能的情况是它不会对自定义根强制执行此操作。如果您为官方信任的证书这样做,您当然会使用您的信任状态。


小智 6

如果您愿意,您可以创建一个自签名证书9999-12-31T23:59:59Z,该证书在当前规则(Y10k 问题)编码的最大可能日期到期。

然后,该证书可以颁发当时也已过期的其他证书。

但是,操作系统或浏览器不会采用自签名证书;因为他们都有反对它的规则。

Microsoft 受信任的根证书一样:程序要求规则 3:根证书的有效期不得超过申请分发之日后的 25 年。

令人惊讶的是,在 CA/Browser 规则、Mozilla 规则或 Apple 规则下,似乎没有关于根权限最大有效性的简明声明。这可能意味着他们只是捎带微软的规则。