# 根证书是什么？定义、例子与常见误区

> 根证书是位于证书链顶端、由 CA 自签名的证书，预装在操作系统或浏览器的信任库中，作为验证其他证书的信任锚。

Source: https://ssl.sh/zh/glossary/root-certificate/
Last updated: 2026-11-10

根证书是 CA 顶级密钥对应的 [自签名证书](https://ssl.sh/zh/glossary/self-signed-certificate/)：颁发者和主体相同，上面再没有任何机构为它担保。客户端之所以信任它，是因为操作系统、浏览器或管理员事先把它放进了 [信任库](https://ssl.sh/zh/glossary/trust-store/)。根私钥通常离线保存在硬件安全模块（HSM）中，主要用来签发 [中间证书](https://ssl.sh/zh/glossary/intermediate-certificate/) 和 CRL。

## 为什么重要
所有公网 TLS 证书最终都依赖客户端信任库里的某个根证书，增删一个根会影响海量设备。Baseline Requirements 禁止直接用根私钥签发用户证书，所以证书链中总有中间证书。根证书有效期很长，常见 20 年以上，如今各根证书计划也在推动轮换：Chrome 根证书计划会按时间表移除密钥材料超过 15 年的根。Let's Encrypt 的 Generation Y 体系就新增了 ISRG Root YR（RSA-4096）和 ISRG Root YE（ECDSA P-384）。老旧安卓设备、长期不升级的嵌入式系统和旧版 Java 运行时的信任库更新慢，是新根证书兼容性问题的主要来源。

## 例子
```bash
openssl x509 -in root.pem -noout -subject -issuer
```

对根证书而言，输出的 subject 和 issuer 两行完全相同。

## 常见误区
- **服务器必须把根证书一起发送。** 客户端本地已有根证书，服务器发送的根不会因此获得信任，只会多占握手流量。
- **安装一个根证书无关紧要。** 你安装的根可以为任何网站担保，企业 HTTPS 解密设备和部分恶意软件正是靠这一点截获流量。
- **根证书和中间证书可以混用。** 根证书是客户端本地的信任锚，中间证书则必须由服务器下发，弄混会导致证书链错误。

## 相关术语

- [证书颁发机构](https://ssl.sh/zh/glossary/certificate-authority/): 证书颁发机构（CA）是负责审核申请者、签发数字证书，并把公钥与域名或身份绑定在一起的机构。
- [信任库](https://ssl.sh/zh/glossary/trust-store/): 信任库是操作系统、浏览器或编程语言运行时内置的一组根 CA 证书，验证证书链时以它们作为信任锚。
- [中间证书](https://ssl.sh/zh/glossary/intermediate-certificate/): 中间证书是由根证书（或上级中间证书）签发、用来签发网站证书的 CA 证书，服务器必须把它和网站证书一起发送给客户端。
- [自签名证书](https://ssl.sh/zh/glossary/self-signed-certificate/): 自签名证书是用自身私钥签名的证书，颁发者与主体相同，没有任何 CA 为它担保。
- [证书链](https://ssl.sh/zh/glossary/certificate-chain/): 证书链是从网站终端证书经中间证书一直到受信任根证书的有序证书序列，每一张都由下一张签名。
- [交叉签名](https://ssl.sh/zh/glossary/cross-signing/): 交叉签名是指由一个已被广泛信任的 CA 为另一个 CA 的现有密钥签发证书，使后者签发的证书也能链到老设备信任的根。
- [根证书计划](https://ssl.sh/zh/glossary/root-program/): 根证书计划是浏览器或操作系统厂商用来决定其信任库收录、限制或移除哪些根 CA 的政策与流程。
- [HSM](https://ssl.sh/zh/glossary/hsm/): HSM 是一种防篡改的硬件设备，在内部生成、保存并使用密钥，私钥不会以明文形式离开设备。
