跳到主要内容
ecdsa.com

密钥用法扩展

X.509 扩展(OID 2.5.29.15),用若干位限制证书中的密钥可以执行的操作:digitalSignature、contentCommitment、keyEncipherment、keyAgreement、keyCertSign、cRLSign 等。
其他写法keyUsageKUdigitalSignaturenonRepudiation

这些位由 RFC 5280 §4.2.1.3 定义:digitalSignature(TLS 握手签名、OCSP)、contentCommitment(原名 nonRepudiation,用于表示承诺的文档)、keyEncipherment(RSA 密钥传输,TLS 1.3 已不再使用)、dataEncipherment、keyAgreement(ECDH)、keyCertSign 和 cRLSign(CA 证书)。CA 证书必须把该扩展标记为关键扩展。

叶子证书的典型取值:ECDSA TLS 证书只使用 digitalSignature;RSA TLS 证书使用 digitalSignature,为了支持 TLS 1.2 的 RSA 密钥交换还会加上 keyEncipherment。强制检查这些位的验证者会拒绝不匹配的用法,因此为签名签发的证书不能用于密钥协商,反之亦然。

密钥用法限制的是密码运算,扩展密钥用法(EKU)限制的是应用场景,例如服务器身份验证或代码签名。只有两者都允许某种用法,验证者才会接受。

标准与参考资料

全部术语