跳到主要内容
ecdsa.com

扩展密钥用法(EKU)

X.509 扩展(OID 2.5.29.37),列出证书密钥可用于的应用用途,例如 id-kp-serverAuth、id-kp-clientAuth、id-kp-codeSigning 或 id-kp-emailProtection。
其他写法EKUextendedKeyUsageserverAuthclientAuth

常见的用途 OID(RFC 5280 §4.2.1.12):1.3.6.1.5.5.7.3.1 为 serverAuth,…3.2 为 clientAuth,…3.3 为 codeSigning,…3.4 为 emailProtection,…3.8 为 timeStamping,…3.9 为 OCSPSigning。许多验证者把中间证书中的 EKU 视为对其下所有证书的约束,根证书计划正是借此把 TLS、S/MIME 和代码签名的层级结构分隔开。

公共 TLS 正在转向单一用途的层级结构。Chrome 根证书计划策略(1.8 版)要求,2027年3月15日及之后签发的订户证书只能声明 id-kp-serverAuth,自2026年6月15日起披露的从属 CA 也是如此;各大 CA 已于2026年停止在 TLS 证书中加入 clientAuth。曾把公共 TLS 证书用作 mTLS 客户端证书的服务需要改用私有 CA。

缺少 EKU 或 EKU 不正确会导致错误,例如 Go 的 x509: certificate specifies an incompatible key usage 或 OpenSSL 的 unsupported certificate purpose。

标准与参考资料

全部术语