我正在使用Let's Encrypt生成SSL证书。它工作正常,我有CSR,密钥和证书链,包括那些不知道Let的加密证书颁发机构的浏览器的中间证书。在Plesk(12)中创建新证书时,我复制并粘贴给定数据,单击“应用”,将创建的证书应用于域,并按预期工作。使用openssl
进行测试
$ openssl s_client -crlf -connect mydomain.com:443 -servername mydomain.com
<snip>
Certificate chain
0 s:/CN=www.mydomain.com
i:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
1 s:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
i:/O=Digital Signature Trust Co./CN=DST Root CA X3
2 s:/O=Digital Signature Trust Co./CN=DST Root CA X3
i:/O=Digital Signature Trust Co./CN=DST Root CA X3
</snip>
现在,三个月后,我必须重新颁发这些证书。由于我想自动化它,我想使用CLI解决方案,如Plesk提供:
$ plesk bin certificate \
-u mycertificatename \
-domain mydomain.com \
-cert-file mynewcert.crt \
-key-file mykey.key
问题:证书已更新并在Plesk中按预期显示,但在使用openssl
进行测试时,中间证书未显示:
Certificate chain
0 s:/CN=www.mydomain.com
i:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
有什么想法吗?我忘了重启任何服务吗?或任何(未)记录的功能?
答案 0 :(得分:1)
尝试使用选项
-cacert-file <path> CA certificate file
包含CA文件的路径,其中包含所有中间证书