OpenSSL 在 LetsEncrypt-Certificate 上使用 -CAFile
OpenSSL use -CAFile on LetsEncrypt-Certificate
我目前正在尝试在安装了 Plesk (17.5.3) 和 Let's-Encrypt-Extension 的 Ubuntu 服务器上设置 Confluence (6.6.0)。
Confluence 本身已启动 运行,但我在 SSL 方面遇到了一些问题。通过 Plesk-Panel One-Click-Installer "easy road" 即可轻松保护域本身。
证书将位于 /usr/local/psa/var/modules/letsencrypt/etc/archive/<MY_DOMAIN>/
此目录中有四个 .pem 文件:
cert1.pem
chain1.pem
fullchain1.pem
privkey1.pem
但现在我需要告诉 Tomcat,我在 server.xml.
安装了这个证书
由于 Plesk-Let's-Encrypt-Extension 将文件保存为 .pem 文件,我需要通过 OpenSSL 转换它们才能使用 Java 密钥工具。
我在这里找到了关于这个主题的一般教程:
http://robblake.net/post/18945733710/using-a-pem-private-key-and-ssl-certificate-with
当我尝试以下操作时,我一开始就卡住了,当我尝试执行时
openssl pkcs12 -export -in <PATH>/cert1.pem -inkey <PATH>/privkey1.pem -out foo.p12 -name tomcat -chain -CAFile <PATH>/chain1.pem
命令本身运行,当我不使用 -CAFile
并生成我的 .p12-File,但随后抛出警告:
Error unable to get local issuer certificate getting chain.
如果我尝试添加 -CAFile /usr/local/psa/var/modules/letsencrypt/etc/archive/<MY_DOMAIN>/chain1.pem
或使用 [...]/fullchain1.pem
而不是什么都不会发生,但 OpenSSL 会打印使用文档。
因此,由于这四个 .pem 文件是唯一可用的文件,我不确定还能做什么。
因为我也需要中级证书,所以我想知道我必须在这里做什么。
Let's Encrypt 中的 chain1.pem
文件似乎不完整。在我的例子中,它只包含一个证书——中间 CA Let's Encrypt Authority X3
检查此文件的内容。就我而言,只有一张证书。
openssl x509 -noout -in chain1.pem -subject -issuer
subject= /C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
issuer= /O=Digital Signature Trust Co./CN=DST Root CA X3
错误的原因是 openssl 缺少 DST Root CA X3
的证书
如何创建完整的链。
下载 DST 根 CA X3 证书:
wget http://apps.identrust.com/roots/dstrootcax3.p7c
将其转换为 PEM
openssl pkcs7 -inform der -in dstrootcax3.p7c -out dstrootcax3.pem -print_certs
此时 DST Root CA X3 的证书在 dstrootcax3.pem
构建完整链(覆盖fullchain1.pem
)
cp chain1.pem fullchain1.pem
echo >> fullchain1.pem
cat dstrootcax3.pem >> fullchain1.pem
生成P12文件
openssl pkcs12 -export -in cert1.pem -inkey privkey1.pem -chain -CAfile fullchain1.pem -out cert1.p12 -name tomcat
检查所有证书是否都存储在 P12 文件中:
openssl pkcs12 -info -in cert1.p12
祝你好运 keytool
;)
我目前正在尝试在安装了 Plesk (17.5.3) 和 Let's-Encrypt-Extension 的 Ubuntu 服务器上设置 Confluence (6.6.0)。
Confluence 本身已启动 运行,但我在 SSL 方面遇到了一些问题。通过 Plesk-Panel One-Click-Installer "easy road" 即可轻松保护域本身。
证书将位于 /usr/local/psa/var/modules/letsencrypt/etc/archive/<MY_DOMAIN>/
此目录中有四个 .pem 文件:
cert1.pem
chain1.pem
fullchain1.pem
privkey1.pem
但现在我需要告诉 Tomcat,我在 server.xml.
安装了这个证书
由于 Plesk-Let's-Encrypt-Extension 将文件保存为 .pem 文件,我需要通过 OpenSSL 转换它们才能使用 Java 密钥工具。
我在这里找到了关于这个主题的一般教程:
http://robblake.net/post/18945733710/using-a-pem-private-key-and-ssl-certificate-with
当我尝试以下操作时,我一开始就卡住了,当我尝试执行时
openssl pkcs12 -export -in <PATH>/cert1.pem -inkey <PATH>/privkey1.pem -out foo.p12 -name tomcat -chain -CAFile <PATH>/chain1.pem
命令本身运行,当我不使用 -CAFile
并生成我的 .p12-File,但随后抛出警告:
Error unable to get local issuer certificate getting chain.
如果我尝试添加 -CAFile /usr/local/psa/var/modules/letsencrypt/etc/archive/<MY_DOMAIN>/chain1.pem
或使用 [...]/fullchain1.pem
而不是什么都不会发生,但 OpenSSL 会打印使用文档。
因此,由于这四个 .pem 文件是唯一可用的文件,我不确定还能做什么。
因为我也需要中级证书,所以我想知道我必须在这里做什么。
Let's Encrypt 中的 chain1.pem
文件似乎不完整。在我的例子中,它只包含一个证书——中间 CA Let's Encrypt Authority X3
检查此文件的内容。就我而言,只有一张证书。
openssl x509 -noout -in chain1.pem -subject -issuer
subject= /C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
issuer= /O=Digital Signature Trust Co./CN=DST Root CA X3
错误的原因是 openssl 缺少 DST Root CA X3
的证书如何创建完整的链。
下载 DST 根 CA X3 证书:
wget http://apps.identrust.com/roots/dstrootcax3.p7c
将其转换为 PEM
openssl pkcs7 -inform der -in dstrootcax3.p7c -out dstrootcax3.pem -print_certs
此时 DST Root CA X3 的证书在
dstrootcax3.pem
构建完整链(覆盖
fullchain1.pem
)cp chain1.pem fullchain1.pem echo >> fullchain1.pem cat dstrootcax3.pem >> fullchain1.pem
生成P12文件
openssl pkcs12 -export -in cert1.pem -inkey privkey1.pem -chain -CAfile fullchain1.pem -out cert1.p12 -name tomcat
检查所有证书是否都存储在 P12 文件中:
openssl pkcs12 -info -in cert1.p12
祝你好运 keytool
;)