# DN是什么？定义、例子与常见误区

> DN 即可分辨名称，是由 C、O、CN 等属性组成的 X.500 风格结构化名称，用来标识 X.509 证书的主体和颁发者。

Source: https://ssl.sh/zh/glossary/distinguished-name/
Last updated: 2026-11-10

DN（Distinguished Name，可分辨名称）由一串相对可分辨名称（RDN）组成，每个 RDN 是“属性类型 = 值”。常见属性有国家（C）、省份（ST）、城市（L）、组织（O）、部门（OU）和 [通用名称](https://ssl.sh/zh/glossary/common-name/)（CN）。每张 [X.509](https://ssl.sh/zh/glossary/x509/) 证书都有颁发者 DN 和主体 DN，构建证书链时，就是拿一张证书的颁发者 DN 去匹配上级证书的主体 DN。

## 为什么重要
在 TLS 服务器证书中，只有 OV 和 EV 证书的主体 DN 才真正标识证书归属，因为 CA 会核实其中的组织字段；DV 证书的主体通常只有一个 CN，域名实际写在 [SAN](https://ssl.sh/zh/glossary/san/) 扩展里。生成 CSR 时，无论填了多少公司信息，DV 证书都会忽略；Baseline Requirements 也已不再允许公网 TLS 证书包含 OU 字段。在阿里云、腾讯云申请 OV 证书时，填写的组织名称需要能与工商登记等官方信息对应，因为 CA 会核验并把它写进 O 字段。颁发者 DN 则在任何证书里都很重要，客户端正是靠它找到链上的下一张证书。

## 例子
```bash
openssl req -new -key example.com.key -out example.com.csr \
  -subj "/C=CN/ST=Beijing/L=Beijing/O=Example Ltd/CN=example.com"
openssl x509 -in cert.pem -noout -subject -issuer -nameopt RFC2253
```

RFC 2253 格式的输出顺序是反的，最具体的属性在前，例如 `CN=example.com,O=Example Ltd,...`。

## 常见误区
- **浏览器拿域名和 DN 比对。** 浏览器只看 SAN 扩展，DN 里的 CN 不参与域名匹配。
- **CSR 里填什么，证书里就有什么。** 最终主体由 CA 决定，DV 证书会丢弃未经验证的组织字段。

## 相关术语

- [X.509](https://ssl.sh/zh/glossary/x509/): X.509 是 ITU-T 制定的公钥证书标准格式，其互联网配置规范 RFC 5280 规定了 TLS 所用证书的结构和验证方法。
- [CN](https://ssl.sh/zh/glossary/common-name/): CN 即通用名称，是证书主体中曾用来填写域名的属性；现代浏览器已忽略它，只按 SAN 扩展匹配域名。
- [SAN](https://ssl.sh/zh/glossary/san/): SAN 即主体备用名称，是 X.509 证书中列出其适用的所有域名、IP 地址等身份的扩展，客户端按它校验主机名。
- [CSR](https://ssl.sh/zh/glossary/csr/): CSR 是证书签名请求，包含申请者的公钥和希望写入证书的身份信息，用私钥签名后提交给 CA 以申请证书。
- [OV 证书](https://ssl.sh/zh/glossary/ov-certificate/): OV 证书是 CA 在验证域名控制权之外，还核实了证书中所写组织真实合法存在的 TLS 证书。
- [EV 证书](https://ssl.sh/zh/glossary/ev-certificate/): EV 证书是按照 CA/浏览器论坛《EV 指南》完成最严格身份审核后签发的 TLS 证书。
