【问题标题】:Convert root certificate ,server certificate and intermediate certificate to .cert and .key file将根证书、服务器证书和中间证书转换为 .cert 和 .key 文件
【发布时间】:2020-12-09 08:53:56
【问题描述】:
我有三个证书文件 rootcertificate.txt、intermediateCertificate.txt 和 serverCertificate.txt。
我想在 ubuntu 平台的 Nginx 服务器上安装 SSL 证书,为此需要两个文件 yourdomain.cert 和 yourdomain.key
所以我的问题是如何将三个文件转换为 .cert 和 .key 格式
【问题讨论】:
-
这三个文件需要连接成一个文件供 Nginx ssl_certificate 使用。我看不到您的私钥,除非它嵌入到服务器证书文件中。这些是文本文件,因此很容易检查。见this document。
-
标签:
nginx
ssl
openssl
ssl-certificate
nginx-config
【解决方案1】:
不,你不能,据我所知,你只有证书
- rootcertificate.txt 是根 CA 证书
- intermediateCertificate.txt 是中间 CA 证书,由根 CA 创建
- serverCertificate.txt 是您的服务器证书,由中间 CA 证书创建
对于yourdomain.cert,您只需将 serverCertificate.txt 重命名为 yourdomain.cert
对于yourdomain.key,这是不可能的,你需要向给你证书的人申请私钥
【解决方案2】:
您需要构建一个证书包(证书链)。为此,您只需连接您的三个证书。确保将根 CA 放在链的顶部,否则它将不起作用。
cat rootcertificate.txt intermediateCertificate.txt \
serverCertificate.txt > fullchain.txt
如果您的证书是 DER 格式,并且您想在构建链之前将它们转换为 PEM。您可以使用下面的 ssl 命令在 PEM 中转换您的证书。
openssl x509 -in serverCertificate.txt -out serverCertificate.pem \
-inform DER -outform PEM
您也可以使用相同的转换来转换 PEM 中的私钥。确保在您的证书格式中的“通知”中更改它们不是 DER。默认值为 PEM 格式。