检查

证书链补全工具

获取服务器的证书链,按正确顺序生成 fullchain.pem、cert.pem 和 chain.pem。

模式

最后核实

证书链补全工具会按正确顺序给出服务器的完整证书链。输入主机名(不是 443 端口就填端口),点 生成证书链,下载 fullchain.pem,可以直接用于 Nginx、Apache、HAProxy、宝塔面板或云厂商控制台。也可以粘贴一张站点证书,看看它的中间证书从哪里下载。

怎么用

从服务器获取

  1. 输入主机名,比如 www.example.com,以及端口。
  2. 点 生成证书链,工具会列出每张证书的主体、签发者和到期时间。
  3. 复制或下载 fullchain.pem(站点证书 + 中间证书)、cert.pem(站点证书)或 chain.pem(中间证书)。

从证书开始

  1. 选 从证书开始,粘贴 PEM 格式的站点证书。
  2. 工具在本地解析后,显示证书“授权信息访问”扩展里的 CA Issuers 地址,从这个地址可以下载签发它的中间证书,一般是 DER 格式,可以用DER 转 PEM转换。

为什么顺序很重要

握手时服务器会发送一组证书。TLS 1.2 要求第一张是站点证书,后面每一张都为前一张签名;TLS 1.3 放宽了要求,但仍建议同样的顺序,而且很多客户端依然依赖它。缺了中间证书,不会自行下载的客户端就会报缺少中间证书或 curl: (60) 之类的错误。

拿到证书链之后

  • 用 fullchain.pem 替换服务器上的证书文件并重载服务。宝塔面板里把它粘贴到“证书(PEM格式)”框;阿里云、腾讯云上传证书时粘贴到证书内容框。
  • 再跑一遍 SSL 检查,证书链应显示为完整。
  • 想确认每张证书的详细信息,用证书解析工具。

常见问题

根证书要放进证书链文件吗?

不用。客户端本身就有根证书,再发一遍只会让每次握手多传数据。工具生成的 fullchain.pem 和 chain.pem 不包含自签名的根证书。

Nginx、Apache、宝塔、云控制台各用哪个文件?

Nginx 的 ssl_certificate、Apache 2.4.8+ 的 SSLCertificateFile、HAProxy、宝塔“证书(PEM格式)”和阿里云/腾讯云上传证书的“证书文件”都用 fullchain.pem。老版本 Apache 和 Tomcat 的 certificateChainFile 需要分开的 cert.pem 和 chain.pem。

浏览器显示正常,为什么还要补证书链?

电脑浏览器能从缓存或网上补齐缺失的中间证书,但 curl、Java、Python、安卓 App、微信小程序后台调用的很多 HTTP 库都不会,会报 unable to get local issuer certificate 之类的错误。

资料来源

  1. RFC 5280: X.509 证书(4.2.2.1 授权信息访问)
  2. RFC 8446: TLS 1.3(4.4.2 Certificate 消息)
  3. Let's Encrypt:信任链