我已经阅读了我认为与此问题相关的RFC 2459(Internet X.509公钥基础结构证书和CRL配置文件)部分。但是,我并不完全清楚证书的有效期(特别是失效日期)的目的是什么。
我的理解是,证书的目的是以可以验证的方式将公钥绑定到身份(在X.509中,通过证书颁发机构,或在OpenPGP中,通过信任网)。因此,在我看来,证书从创建时起有效,直到相应的私钥被泄露(或雇员被解雇,或其他什么),在这种情况下,它将被放在证书撤销列表中(我相信)。
在什么情况下这不是真的?为什么身份与公钥的绑定突然变得无效?我知道大多数证书颁发机构都是商业企业,因此获得经常性费用是有利可图的,但我正在制作一个开源项目,只需生成证书(免费),将服务器上的用户名绑定到公钥,并且用户的密码用于向CA验证他的身份(当然,存储他的哈希密码)。
答案 0 :(得分:6)
这个想法是在私钥被泄露的情况下减少机会窗口。只有被入侵方明白这一点,才有可能撤销。此外,现有的撤销机制并不完全可靠,因此拥有固定的到期日期是件好事。
答案 1 :(得分:2)
我很确定你就商业方面回答了你自己的问题。但我会在这里扔另一个。
这部分是在你不知道它首先丢失的时候防止损失。换句话说,它出现在证书撤销列表上的唯一时间是,如果某人知道它已被泄露。在很多情况下你不会知道它被泄露了,所以有办法强制刷新密钥。
这有点像过去的日子,间谍使用的密码每天都在变化。并不是他们认为旧密钥被泄露了,他们改变了,因为如果密钥被泄露,他们不知道。
另一个例子是让密码每隔90天左右到期。它没有到期,因为它已经丢失了;它已经在 case 中失效,它已经丢失,你不知道。