我在一家非常知名的公司续订了 SSL 证书,但他们搞砸了我的订单。在改正后,我收到了几个没有任何说明的证书文件:
- 我的服务器.COM.crt
- OV_ThatCompanyOVServerCA2.crt
- 添加信任外部CARoot.crt
- OV_USERTrustRSACertificationAuthority.crt
于是我想起我需要将它们连接在一起。我这样做了,但谁知道我的顺序是否正确,因为我在 Google 上找到了数千条相互冲突的指令。
我在服务器上安装了证书nginx
。然后我得到了这个:
nginx: [emerg] SSL_CTX_use_PrivateKey_file("/usr/nginx/conf/myserver.key") failed (SSL: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch)
哎呀。这次我没有 .key 文件。我只有:
- 私钥
- 我的服务器.csr
因此旧的密钥文件不起作用。我尝试替换该privkey.pem
文件,结果如下:
Enter PEM pass phrase:
好吧,谁知道那是什么。我不认为我创建了密码短语。
我不知道下一步该做什么。如何生成可用的密钥文件?
答案1
我运行此命令从 PEM 文件生成密钥:
openssl rsa -in privkey.pem -outform PEM -out myserver.key
它再次提示我输入密钥,但我猜到了。我把这个密钥放在 nginx/conf 目录中,一切正常。
答案2
如果您更新了以前的证书,.key
您在 nginx 中使用的旧文件应该可以与新的证书文件一起使用。
此外,如果您不确定证书应如何连接,您可能能够用文件中的证书替换前.crt
一个文件中的第一个证书MY.SERVER.COM.crt
。但如果证书链已更改,则可能无法做到这一点。