假设PKI层次结构如下所示。
root CA ==> inter-1 CA ==> user-1
\
\======> inter-2 CA ==> user-2
我的问题是:root CA是否还需要定期从其子代下载CRL:inter-1和inter-2?
由于user-1和user-2可以相互认证,如果inter-2撤销了user-2的证书,则inter-2应该让root知道然后传播到inter-1和user-1,对吗? / p>
如果是这样,那似乎相当复杂。是否有任何工具可用于管理撤销逻辑?非常感谢。
答案 0 :(得分:18)
不,证书的撤销不会通过CA树传播。每个CA(您的案例中的根和中间)负责发布CRL,其中包含仅此CA颁发的已撤销证书的列表。
一个例子:
Root CA为根CA颁发的证书发布CRL:inter-1 CA和inter-2 CA.根CA不知道user-1和user-2证书或其撤销状态。
inter-1 CA(resp inter-2 CA)发布一个CRL,其中包含由1个CA(resp inter-2 CA)颁发的已撤销证书列表,并且只发布这些证书。
CRL Root CA CRL inter-1 CA
^ ^
| |
root CA ==> inter-1 CA ==> user-1
|
| CRL inter-2 CA
| ^
\ |
\======> inter-2 CA ==> user-2
如果撤销用户1证书,则此证书(实际上是其序列号)将仅出现在由1个CA发布的CRL中。
当有人想要检查用户1证书的有效性时,该过程如下:
请注意,验证CRL签名可以触发另一个证书链的验证:即此算法可以是递归的。实际上,X.509证书验证算法非常复杂,我只是总结了这里的原理。