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

Cra*_*lus 15 security encryption ssl cryptography x509certificate

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

  • 使用X.509证书中的Basic Constraints扩展名表示它是CA证书和
  • 使用密钥用法扩展例如,表示公钥可用于证书登录.

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

Bab*_*san 16

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

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

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

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

但"基本约束"也将指定有效认证链的最大深度.

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

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