AIA 签发机构发现 · PEM 证书链导出

补全 SSL 证书链。

在线查找缺失的中间证书并生成 fullchain.pem。为 Nginx、Apache 和云证书上传构建有序的 SSL 证书链或 CA 证书包。

构建 SSL 证书链

提交公钥 SSL 证书,由服务器补全证书链。同一文件中已有的中间证书和根证书会被复用,缺失的签发机构证书会自动下载。请不要提交私钥。

请把服务器证书放在最前面。已有的中间证书和根证书可以按任意顺序跟在后面。接受 PEM 或单个 DER 证书,最大 1 MB。

补全后的证书链将显示在这里

下载用于部署的 fullchain.pem,或单独的 CA 证书包。

证书链不完整

补上缺失的中间证书。

SSL 证书需要一条通向客户端信任的根证书的签发路径。只提供 cert.pem 可能让这条路径不完整。缓存了中间证书的浏览器也许能访问,而新设备或命令行客户端会报告验证错误。

缺少中间证书

补全导致 unable to get local issuer certificate 或 unable to verify the first certificate 的 CA 证书链。如果错误仍然存在,请检查其他信任问题。

部署文件包

生成 fullchain.pem 时先放叶子证书,再放中间证书。如果平台有单独的证书链字段,请另外导出 CA 证书包。

已验证的签发机构链接

添加下载的证书之前,会检查签发机构名称和密码学签名。无关证书无法补全证书链。

构建 fullchain.pem

如何补全证书链。

不需要私钥,也不需要连接域名。此工具处理的是证书文件,而不是扫描线上服务器。

  1. 01

    添加您的服务器证书

    粘贴 PEM,或上传 .pem、.crt、.cer 或 .der 证书。如果已有部分证书链,请把叶子证书放在最前面。

  2. 02

    验证并补全证书链

    完成 Cloudflare 验证后提交证书。服务器会先复用已有的中间证书和根证书,再自动下载缺失的签发机构证书。

  3. 03

    下载并部署 fullchain.pem

    默认的部署文件先包含服务器证书,后面是中间证书。请把现有私钥单独保存,并在重新加载后验证线上服务器。

证书链结果

了解补全结果。

已构建证书链

每一级签发机构链接都已验证,证书链到达自签名根证书。请下载部署用的证书包,并确认目标客户端信任该根证书。

无法获取签发机构

AIA 不存在、被拦截,或没有返回匹配的签发机构。请从证书颁发机构获取中间证书和根证书,然后重试。

有效性警告

即使证书链完整,已过期或尚未生效的证书仍然无法使用。部署前请续期,或先解决有效期问题。

使用 OpenSSL 构建并检查证书链。

从证书颁发机构获取中间证书,并按签发机构顺序排列。为 Nginx 的 ssl_certificate 或 Apache 2.4.8 及以上的 SSLCertificateFile 配置 fullchain.pem。私钥仍放在单独的配置项中。

重新加载服务器后,请检查该域名实际提供的证书链。仅有本地证书包,并不能证明正在使用的 TLS 配置用的就是它。

# Inspect issuer and AIA details openssl x509 -in cert.pem -noout -text # Leaf first, then ordered intermediates cat cert.pem intermediates.pem > fullchain.pem # Verify with a root you independently trust openssl verify -CAfile trusted-root.pem \ -untrusted intermediates.pem cert.pem # Inspect the live server using SNI openssl s_client -connect example.com:443 \ -servername example.com -showcerts \ -verify_return_error </dev/null

支持的格式与下载限制。

粘贴完整的 PEM CERTIFICATE 块,或上传 PEM 证书包或单个 DER X.509 证书。AIA 下载支持 PEM 和 DER 响应。P7B、PFX 或 P12 文件请先用证书转换器转换。输入限制为 1 MB;自动请求有超时和证书链深度限制。

补全只沿第一张证书的一条签发路径进行,不会为旧客户端选择另一条路径。Cloudflare 验证之后,服务器会执行验证、下载签发机构证书和签名检查。请在同一份输入中,把已有的中间证书和根证书放在服务器证书之后。

证书链补全常见问题。

如何补全 SSL 证书链?

先粘贴服务器证书,再附上已有的中间证书。Cloudflare 验证之后,AutoSSL 会复用输入中已有的证书,并从 Authority Information Access(AIA)URL 下载缺失的签发机构证书。每个签发机构都必须匹配证书的签发机构名称,并验证其签名。证书链到达自签名根证书后,即可下载 fullchain.pem。

cert.pem、chain.pem 和 fullchain.pem 有什么区别?

cert.pem 通常只包含服务器证书。chain.pem 或 CA 证书包通常包含中间 CA 证书。fullchain.pem 先放服务器证书,再按签发机构顺序放中间证书。这里的部署输出会省略自签名根证书;单独的下载文件会包含它。

为什么我的证书链不完整?

服务器可能只配置了叶子证书,或使用了过时的 CA 证书包。有些客户端缓存了中间证书,看起来可以正常访问,而新的客户端会失败。缺少签发机构可能导致 unable to get local issuer certificate、unable to verify the first certificate 或 curl error 60。这些错误也可能由其他信任或有效性问题引起。

为什么自动下载中间证书失败了?

证书可能没有 AIA 签发机构 URL,或者证书颁发机构的端点不可用。自动下载会通过同源服务访问受支持的公共 CA 仓库,以避开浏览器的 CORS 和 HTTP 限制。如果仓库不受支持或没有 AIA,请从证书颁发机构获取缺失的证书,追加到同一份输入中的服务器证书之后,然后重试。PKCS#7 格式的 AIA 响应必须先用证书转换器转换为 PEM。

此工具会上传我的证书,或需要私钥吗?

会。Cloudflare 验证之后,你的公钥证书或现有证书链会发送到 AutoSSL。服务器会验证证书、自动下载缺失的签发机构证书,并返回包含根证书的完整证书链。私钥、CSR 以及其他非证书 PEM 块会被拒绝。下载内容在浏览器中组装。

证书链补全是否表示证书已被信任?

不能。到达自签名根证书只说明签名链是连通的,并不代表浏览器或操作系统信任该根证书。此工具不检查吊销、主机名有效性、CA 路径约束或各项证书策略。过期证书仍需要续期,私有 CA 的根证书也需要安装到客户端的信任存储中。

服务器上需要包含根证书吗?

TLS 服务器通常发送服务器证书和中间证书。客户端已经持有自己信任的根证书。典型的 Nginx 和 Apache 部署使用 fullchain.pem;只有平台明确要求时,才下载包含根证书的证书链。此工具在生成任一输出之前,都需要根证书来验证最后一级签发关系。