You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何生成PEM文件安装自有SSL证书?我的创建操作是否正确?

生成SSL证书PEM文件及证书链验证指南

嘿,我来帮你一步步解决这两个问题:如何生成符合要求的PEM文件,以及你当前的证书链操作是否正确。

一、生成要求的三个PEM文件

1. 私钥PEM文件(/ssl/test1.bx.key.pem)

你的domain.com.key大概率已经是PEM格式的私钥了——你可以打开文件看看开头是不是-----BEGIN PRIVATE KEY-----或者-----BEGIN RSA PRIVATE KEY-----。如果是,直接复制到指定路径就行:

cp domain.com.key /ssl/test1.bx.key.pem

万一你的私钥是DER这类非PEM格式,用OpenSSL转一下:

openssl rsa -inform der -in domain.com.key -out /ssl/test1.bx.key.pem

2. 域名证书PEM文件(/ssl/test1.bx.cert.pem)

domain_com.crt是你的域名实体证书,同样先检查是不是PEM格式(开头是-----BEGIN CERTIFICATE-----),是的话直接复制:

cp domain_com.crt /ssl/test1.bx.cert.pem

如果是DER格式,转换命令如下:

openssl x509 -inform der -in domain_com.crt -out /ssl/test1.bx.cert.pem

3. 证书链PEM文件(/ssl/test1.bx.ca-chain.cert.pem)

这部分是你当前操作的核心问题——你现在的拼接顺序是错误的

证书链的正确顺序是:从直接签发你域名证书的中间CA开始,依次往上到根CA。对于Comodo PositiveSSL的证书,正确的拼接顺序是:

  1. COMODORSADomainValidationSecureServerCA.crt(直接给你的域名证书签名的CA)
  2. COMODORSAAddTrustCA.crt(这个CA的上级中间CA)
  3. AddTrustExternalCARoot.crt(最终的根CA)

所以正确的命令应该是:

cat COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt > /ssl/test1.bx.ca-chain.cert.pem

为什么顺序这么重要?因为客户端浏览器/服务端需要按“从你的证书到根CA”的递进关系来验证信任链,顺序错了会导致验证失败,用户访问时可能出现“证书不可信”的提示。

二、验证PEM文件的有效性

生成完所有文件后,建议用OpenSSL命令验证证书链是否配置正确:

openssl verify -CAfile /ssl/test1.bx.ca-chain.cert.pem /ssl/test1.bx.cert.pem

如果输出/ssl/test1.bx.cert.pem: OK,就说明你的证书链完全没问题了。

内容的提问来源于stack exchange,提问作者KimAl

火山引擎 最新活动