使用中间密钥在Nginx上安装SSL证书时出现问题


11

我正在尝试在Ubuntu服务器上安装SSL证书。我已经从我的CA购买了证书,并下载了证书本身和中间证书。因此:

我的证书: mydomain.crt
中级证书: GandiStandardSSLCA.pem

我也有(使用openssl制作)

我的私钥(?): mydomain.key
和签名请求: mydomain.csr

我已将所有这些文件上传到服务器,并遵循了将证书与中间件合并的指南:

cat mydomain.crt GandiStandardSSLCA.pem > mydomain-bundle.crt

然后,将以下内容添加到我的vhost的配置中:

listen   443 ssl;
ssl_certificate       /etc/nginx/ssl/mydomain-bundle.crt;
ssl_certificate_key   /etc/nginx/ssl/mydomain.key;

但是当我重新启动nginx时,出现此错误:

*重新启动nginx
*停止nginx nginx [OK]
nginx:[emerg] SSL_CTX_use_PrivateKey_file(“ / etc / nginx / ssl / mydomain.key”)失败(SSL:错误:0B080074:x509证书例程:X509_check_private_key:密钥值不匹配)nginx:配置文件/etc/nginx/nginx.conf测试失败

有什么想法为什么以及如何解决?


怎么说“ openssl验证-不可信的ca-bundle mydomain-bundle.crt”?
Danila Ladner 2014年

是什么ca-bundle
哈里克2014年

Answers:


17

您的密钥列表是否正确:

openssl rsa -in /etc/nginx/ssl/mydomain.key

密钥的模数和cert是否匹配:

openssl x509  -in mydomain.crt -modulus 

openssl rsa  -in qa.server.key  -modulus

这些数字必须匹配。


是的,密钥列表确定,并且模数匹配。我只能以root身份列出。可能是所有权问题

假设qa.server.key是我的私钥
哈利2014年

请注意,证书(SLL证书和中间证书)的串联顺序至关重要。@davey答案帮助我弄清楚我的汇总crt错误。
jeromes '16

优秀的。我为ssl_certificate使用了错误的文件。modulas命令帮助我弄清楚了问题所在。天才!
拉尔夫(Ralph)

如果不匹配?那又是什么...
扎克·史密斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.