在 Firefox 中,如果我查看 Verisign 通用根证书颁发机构,我会注意到它将在 2037 年到期。
(Settings
标签 -> advanced
-> view certificates
-> VeriSign Universal Root Certification Authority
-> View
。)
为什么它的寿命是 23 年?
他们为什么不把它设置为更早或更晚的到期时间?
答案1
到期日定在 2037 年,是为了避免陷入Unix 2038 年日期问题。基本上,到 2038 年初,Unix 日期将不再适合有符号的 32 位整数,因此使用在此之前的日期可避免触发任何尚未更新的代码来解决问题。
根证书在过期时会带走所有链式证书,因此从实际角度来看,根证书需要在任何链式证书之后过期。
答案2
如果我理解你的问题,替换根证书需要重新部署到客户端。因此,它们的生命周期很可能设置得足够长,以至于根证书过期的可能性很小或没有。
答案3
我确实看到过 32 位 SSL 实现遇到 2038 错误,所以这几乎可以肯定地解释了“为什么‘只有’ 2037”。
至于为什么不早点过期?好吧,过期的最初目的之一是防止受损证书的有效期过长 - 但老实说,这并没有给你带来太多好处。现在我们当然有了证书吊销列表,所以我们可以相当轻松地使给我们带来麻烦的证书失效,所以没有真正强迫证书的有效期缩短。