目录
📌PEM格式证书 = 域名证书.crt + 根证书(root_bundle).crt 含义解析
✅1. 域名证书(domain certificate,通常为 .crt 文件)
✅2. 根证书(root_bundle.crt 或 ca_bundle.crt)
📘博客正文:PEM 格式证书详解:什么是 .crt 和 root_bundle.crt?
📌PEM格式证书 = 域名证书.crt + 根证书(root_bundle).crt 含义解析
在使用 HTTPS 或其他 TLS 安全通信协议时,经常会涉及到“PEM 格式证书”。一个完整的 PEM 证书通常由多个部分组成,最常见的组合形式是:
PEM 格式证书 = 域名证书(.crt) + 根证书(root_bundle.crt)
下面分别解释这两个文件的含义及其作用:
✅1. 域名证书(domain certificate,通常为 .crt
文件)
这是服务器申请到的专属证书,也叫 服务器证书 或 站点证书,它:
-
是 CA(证书颁发机构)签发给特定域名的证书;
-
含有服务器的公钥、公钥加密算法、颁发者、有效期、指纹等信息;
-
用于证明当前访问的服务器就是你要访问的那个域名,比如
example.com
; -
只验证当前站点的身份,无法单独建立信任链。
👉 文件样例内容(PEM 格式):
-----BEGIN CERTIFICATE-----
MIID...(中间省略)
-----END CERTIFICATE-----
✅2. 根证书(root_bundle.crt 或 ca_bundle.crt)
这是构建**信任链(Certificate Chain)**所必需的“中间证书 + 根证书”的集合:
-
中间证书(Intermediate CA):由根 CA 签发,是站点证书的直接签发者;
-
根证书(Root CA):由操作系统或浏览器信任的顶级权威证书。
📌 所有这些组成一条从你的站点到受信任根 CA 的完整链条,只有有了这条链,浏览器才会显示绿色锁标志 🔒。
👉 文件内容通常包含多个证书段:
-----BEGIN CERTIFICATE-----
中间证书内容
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
根证书内容
-----END CERTIFICATE-----
📘博客正文:PEM 格式证书详解:什么是 .crt 和 root_bundle.crt?
在部署 HTTPS 时,很多朋友可能都遇到过 .crt
、root_bundle.crt
等证书文件。尤其是在使用 Apache、Nginx 或其他 Web 服务配置 SSL 时,往往需要你提供一个“PEM 格式”的证书文件。
那究竟什么是 PEM 格式证书?它为什么需要多个 .crt
文件组合?本文将带你快速搞懂这些概念。
一、PEM 是什么格式?
PEM,全称为 Privacy Enhanced Mail,是一种 ASCII 格式的证书存储方式。它以如下格式存储证书:
-----BEGIN CERTIFICATE-----
Base64 编码内容
-----END CERTIFICATE-----
PEM 文件通常以 .pem
、.crt
、.cer
、.key
结尾,并不区分严格命名,而是看内容格式是否为 -----BEGIN/END
这种结构。
二、域名证书 vs 根证书
部署 TLS 通信时,至少需要两个关键部分:
文件名称 | 说明 |
---|---|
域名证书 .crt | CA 颁发给你网站域名的证书(只验证你的网站) |
根证书 bundle.crt | 包含中间证书和根证书,构建完整的信任链 |
域名证书自己是无法建立信任的,必须依赖于 CA 机构签发的中间证书和根证书。这些内容一般被打包在 ca_bundle.crt
或 root_bundle.crt
中。
三、实际部署示例(Nginx)
在 Nginx 配置中,可能会看到如下配置:
ssl_certificate /etc/nginx/ssl/fullchain.pem; # 这是 domain.crt + root_bundle.crt
ssl_certificate_key /etc/nginx/ssl/domain.key; # 私钥
其中 fullchain.pem
通常是:
cat domain.crt root_bundle.crt > fullchain.pem
这样浏览器在连接你的服务器时,可以验证整个证书链,避免“证书不受信任”的问题。
四、常见误区
-
只上传域名证书:可能导致客户端验证失败,因为缺少信任链。
-
忽略证书顺序:在拼接 fullchain 时,要先放域名证书,再放中间和根证书,不能乱。
-
文件后缀随意:虽然后缀可以为
.crt
、.pem
等,但内容必须符合 PEM 格式结构。
✅总结
PEM 格式证书本质上是一种纯文本编码方式,通常由:
域名证书
.crt
(站点专属)根证书
root_bundle.crt
(中间+根CA) 拼接而成,用于构建安全信任链,保证浏览器和客户端对服务器身份的信任。
记住:部署 HTTPS 不是只靠一个 .crt 文件,而是靠整个证书链!