创建CA证书的x.509 V3扩展基本约束和密钥用法有什么区别?

时间:2011-04-26 19:10:09

标签: security encryption ssl cryptography x509certificate

这两个动作似乎也是这样:

  • 使用X.509证书中的基本约束扩展名表示它是CA证书
  • 使用密钥用法扩展程序,例如表示公钥可用于证书签名。

这些扩展之间有什么区别?
它们是出于同一目的还是相互补充?

2 个答案:

答案 0 :(得分:14)

“密钥用法”定义了可以使用证书中包含的密钥执行的操作。用法示例包括:加密,签名,签名证书,签署CRL。

“基本约束”标识证书的主题是否是允许颁发子证书的CA.

对于可用于签署证书的证书,信息在某种意义上是重复的:

  • X509v3基本约束:CA:TRUE ---可以签署证书
  • X509v3密钥使用:密钥证书签名---可以签署证书

但“基本约束”也将指定有效认证链的最大深度。

虽然它是重复的,但您需要根据RFC 3280 --- X.509指定两者。 这是RFC(第29页)中的相关段落:

  

当主题公钥是时,keyCertSign位被置位   用于验证公钥证书上的签名。如果   keyCertSign位置位,然后是基本的cA位   约束扩展(第4.2.1.10节)也必须断言。

答案 1 :(得分:1)

密钥用法描述了证书的预期用途。

基本约束扩展描述了具有证书的证书链的深度。换句话说,当发布子CA证书时,CA使用此扩展来限制其子CA的活动。如果顶级CA获得子CA,则它允许子CA颁发最终用户证书,但不允许子CA拥有它自己的子CA.