PEM格式证书 = 域名证书.crt + 根证书(root_bundle).crt 含义解析

目录

[📌PEM格式证书 = 域名证书.crt + 根证书(root_bundle).crt 含义解析](#📌PEM格式证书 = 域名证书.crt + 根证书(root_bundle).crt 含义解析)

[✅1. 域名证书(domain certificate,通常为 .crt 文件)](#✅1. 域名证书(domain certificate,通常为 .crt 文件))

[✅2. 根证书(root_bundle.crt 或 ca_bundle.crt)](#✅2. 根证书(root_bundle.crt 或 ca_bundle.crt))

[📘博客正文:PEM 格式证书详解:什么是 .crt 和 root_bundle.crt?](#📘博客正文:PEM 格式证书详解:什么是 .crt 和 root_bundle.crt?)

[一、PEM 是什么格式?](#一、PEM 是什么格式?)

[二、域名证书 vs 根证书](#二、域名证书 vs 根证书)

三、实际部署示例(Nginx)

四、常见误区

✅总结



📌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 时,很多朋友可能都遇到过 .crtroot_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.crtroot_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

这样浏览器在连接你的服务器时,可以验证整个证书链,避免"证书不受信任"的问题。


四、常见误区
  1. 只上传域名证书:可能导致客户端验证失败,因为缺少信任链。

  2. 忽略证书顺序:在拼接 fullchain 时,要先放域名证书,再放中间和根证书,不能乱。

  3. 文件后缀随意 :虽然后缀可以为 .crt.pem 等,但内容必须符合 PEM 格式结构。


✅总结

PEM 格式证书本质上是一种纯文本编码方式,通常由:

  • 域名证书 .crt(站点专属)

  • 根证书 root_bundle.crt(中间+根CA) 拼接而成,用于构建安全信任链,保证浏览器和客户端对服务器身份的信任。

记住:部署 HTTPS 不是只靠一个 .crt 文件,而是靠整个证书链!

相关推荐
wuyk55515 分钟前
【Socket 进阶之路】第 7 章 IO 多路复用 select & poll 完整实战|多 fd 监听、超时等待、优缺点横向对比
服务器·开发语言·网络·数据库·物联网
人工智能培训30 分钟前
大语言模型:从语言理解到通用智能的跃迁
linux·服务器·前端·人工智能
东方护航数据恢复(深圳)38 分钟前
本地小算力设备数据恢复经典案例实操全解_东方护航数据恢复深圳店
大数据·服务器·算法·ai·gpu算力
阿明61 小时前
Linux进程【Linux】
linux·运维·服务器
Android系统攻城狮1 小时前
Linux Gstreamer深度解析之gst_audio_resampler_update调用流程与实战(三十)
linux·运维·服务器·gstreamer音视频·音视频进阶
一木 之林2 小时前
手搓家庭服务器:二手装机、Docker部署、端口映射与frp内网穿透
服务器·人工智能·git·编辑器
Methy3 小时前
IoTHub半个月崩了五次?都是裸rethrow惹的祸
服务器·c++·后端
Wang's Blog3 小时前
Java 项目实战: 外卖平台-后台系统登录功能开发
java·服务器·redis
第十人i4 小时前
Linux 系统初始化配置清单:新服务器快速部署
linux·服务器
Lsetea4 小时前
部署证书后提示“证书名称与输入不匹配”:Safari 报错的三层排查
nginx·https·safari·ssl证书·openssl