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 文件,而是靠整个证书链!

相关推荐
stormsha1 分钟前
Linux中su与sudo命令的区别:权限管理的关键差异解析
linux·运维·服务器·鸿蒙系统·ux·batch命令
秋水丶秋水4 小时前
SSL安全证书怎么安装?
网络协议·http·https
21号 15 小时前
9.进程间通信
linux·运维·服务器
搬码临时工10 小时前
电脑同时连接内网和外网的方法,附外网连接局域网的操作设置
运维·服务器·网络
程序猿小D11 小时前
第16节 Node.js 文件系统
linux·服务器·前端·node.js·编辑器·vim
midsummer_woo12 小时前
【2025年】解决Burpsuite抓不到https包的问题
网络协议·http·https
IT界小黑的对象14 小时前
virtualBox部署ubuntu22.04虚拟机 NAT+host only 宿主机ping不通虚拟机
linux·运维·服务器
我是唐青枫14 小时前
.NET AOT 详解
java·服务器·.net
藥瓿亭14 小时前
K8S认证|CKS题库+答案| 4. RBAC - RoleBinding
linux·运维·服务器·云原生·容器·kubernetes·cks
本郡主是喵16 小时前
并发编程 - go版
java·服务器·开发语言