# What Is Extended Key Usage (EKU)? Definition and Examples

> Extended Key Usage (EKU) is the X.509 extension listing the purposes a certificate may serve, such as serverAuth, clientAuth or codeSigning.

Source: https://ssl.sh/glossary/extended-key-usage/
Last updated: 2026-11-10

EKU contains a list of object identifiers (OIDs). The common ones are serverAuth (1.3.6.1.5.5.7.3.1) for TLS servers, clientAuth (1.3.6.1.5.5.7.3.2) for TLS clients, codeSigning (1.3.6.1.5.5.7.3.3), emailProtection (1.3.6.1.5.5.7.3.4) for S/MIME and timeStamping (1.3.6.1.5.5.7.3.8). While [Key Usage](https://ssl.sh/glossary/key-usage/) limits cryptographic operations, EKU limits application purposes, and verifiers check that the purpose they need is listed.

## Why it matters
EKU is now the main tool root programs use to separate PKI hierarchies by purpose. Under Chrome Root Program Policy v1.8, new subordinate CAs disclosed from 2026-06-15 must assert only serverAuth, and subscriber certificates issued on or after 2027-03-15 must assert only the serverAuth EKU. Let's Encrypt's classic profile stopped including clientAuth on 2026-02-11, and its tlsclient profile was discontinued on 2026-07-08. Anyone using public TLS certificates as [client certificates](https://ssl.sh/glossary/client-certificate/) for [mTLS](https://ssl.sh/glossary/mtls/) needs to move to a private CA or a dedicated client-authentication hierarchy.

## Example
```bash
openssl x509 -in cert.pem -noout -ext extendedKeyUsage
```

A current public server certificate shows only `TLS Web Server Authentication`; an older one may also list `TLS Web Client Authentication`.

## Common misconceptions
- **Public TLS certificates will keep working for client authentication.** The clientAuth EKU is being removed, and servers that check it will reject newer certificates.
- **EKU is the same as Key Usage.** They are separate extensions; a certificate must satisfy both when both are present.

## Related terms

- [密钥用途](https://ssl.sh/zh/glossary/key-usage/): 密钥用途是 X.509 证书扩展，限定证书公钥可执行的密码学操作，例如数字签名、密钥加密或签发证书。
- [客户端证书](https://ssl.sh/zh/glossary/client-certificate/): 客户端证书是 TLS 客户端在握手时出示、用来向服务器证明自身身份的 X.509 证书。
- [mTLS](https://ssl.sh/zh/glossary/mtls/): mTLS 是服务器和客户端在握手中都用 X.509 证书向对方证明身份的 TLS，也叫双向 TLS 认证。
- [代码签名证书](https://ssl.sh/zh/glossary/code-signing-certificate/): 代码签名证书是带有 codeSigning 扩展密钥用途、用来给软件做数字签名，让用户能核实发布者身份和文件完整性的 X.509 证书。
- [S/MIME](https://ssl.sh/zh/glossary/smime/): S/MIME 是一种使用 X.509 证书和 CMS 格式对电子邮件进行端到端签名和加密的标准。
- [下级 CA](https://ssl.sh/zh/glossary/subordinate-ca/): 下级 CA 是 CA 证书由另一个 CA（通常是根 CA）签发的证书颁发机构，一般负责实际签发终端证书。
- [根证书计划](https://ssl.sh/zh/glossary/root-program/): 根证书计划是浏览器或操作系统厂商用来决定其信任库收录、限制或移除哪些根 CA 的政策与流程。
