术语表

EKU (Extended Key Usage,扩展密钥用途)

最后核实

定义

EKU 即扩展密钥用途,是列出证书可用于哪些目的(如 serverAuth 服务器认证、clientAuth 客户端认证、代码签名)的 X.509 扩展。

EKU 扩展里是一组对象标识符(OID),常见的有:serverAuth(1.3.6.1.5.5.7.3.1,TLS 服务器)、clientAuth(1.3.6.1.5.5.7.3.2,TLS 客户端)、codeSigning(1.3.6.1.5.5.7.3.3,代码签名)、emailProtection(1.3.6.1.5.5.7.3.4,S/MIME)和 timeStamping(1.3.6.1.5.5.7.3.8,时间戳)。密钥用途 限制的是密码学操作,EKU 限制的是应用目的,验证方会检查自己需要的用途是否在列表中。

为什么重要

EKU 已成为根证书计划按用途拆分 PKI 体系的主要手段。按 Chrome 根证书计划政策 v1.8,2026-06-15 起新披露的下级 CA 只能声明 serverAuth,2027-03-15 及之后签发的用户证书也只能包含 serverAuth。Let's Encrypt 的 classic 配置文件已于 2026-02-11 不再包含 clientAuth,tlsclient 配置文件于 2026-07-08 停用。凡是拿公网 TLS 证书充当 mTLS 客户端证书 的系统,例如服务器之间的双向认证、对接第三方接口时出示的客户端证书,都需要改用私有 CA 或专门的客户端认证体系。

例子

openssl x509 -in cert.pem -noout -ext extendedKeyUsage

当前的公网服务器证书只会显示 TLS Web Server Authentication,较早签发的证书可能还带有 TLS Web Client Authentication。

常见误区

  • 公网 TLS 证书会一直能用于客户端认证。 clientAuth 用途正在被移除,检查该用途的服务端会拒绝新签发的证书。
  • EKU 和 KU 是同一个东西。 它们是两个独立的扩展,同时存在时证书必须两者都满足。

延伸阅读