为什么要颁发2037年到期的SSL证书?


11

在Firefox中,如果我查看Verisign通用根证书颁发机构,我会注意到它在2037年到期。

Settings标签-> advanced-> view certificates-> VeriSign Universal Root Certification Authority->-> View。)

为什么寿命为23年?
他们为什么不将它设置为更早过期?还是以后?


5
就像答案所说的那样,避免必须尽可能长时间地替换根证书。可能有人将它的有效期定为25或30年,因为必须更换这些产品很痛苦,并且没有提供任何好处。很有可能在它过期之前很长一段时间,必须用更长的密钥替换它(对此可能是不同的加密算法)。我对内部SSL证书也做同样的事情,只是因为我不想再向$ [crappy_printer]安装另一个证书。将有效期设置为比设备的使用寿命更长,这样就可以解决问题。
HopelessN00b 2014年

Answers:


13

该有效期设置为2037,以避免遇到Unix 2038年日期问题的可能性。基本上在2038年初,Unix日期将不再适合带符号的32位整数,因此在此之前使用日期可以避免触发尚未更新的任何代码来解决该问题。

根证书在所有过期的证书中都带有根证书,因此从实际角度出发,根证书需要在所有链接证书之后过期。


7

如果我理解您的问题,则需要将替换的根证书重新部署到客户端。很有可能,它们的生存期设置得足够远,以至于根证书到期的机会很少或没有。


4
至于“为什么2037”(或更广泛地说“为什么不设置100年有效期?”)–可能存在技术限制,但至少在最近的OpenSSL(在64位系统上为0.9.8y)上这不是问题,所以可能只是“我让它持续了##年”)
voretaq7 2014年

1
@ voretaq7并不是(仅)处理库的问题,问题在于标准的,经过良好测试的2038年之前的日期格式正在使用UNIX时代。如果要在日期之后设置日期,则需要使用其他日期格式,并且其他/较早的库可能不支持该日期格式。
休伯特·卡里奥

1
@HubertKario是的,我记得OpenSSL以前有一个“问题”,其日期超过了Y2038红线。他们似乎已经解决了上述问题,至少就我的测试用例而言(我创建了一个从今天起100年后失效的证书,并且没有提出投诉):-)
voretaq7

0

我肯定已经看到32位SSL实现遇到2038错误,因此几乎可以肯定地解释了“为什么'仅'2037”。

至于为什么不早一点过期呢?好吧,有效期的最初目的之一是保存已失效的证书有效期太长,但是老实说,这并不能给您带来很多好处。当然,现在我们有了证书吊销列表,因此我们可以很容易地使导致我们麻烦的证书无效,因此没有真正的迫在眉睫的生存时间。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.