SSL:错误:0B080074:x509证书例程:X509_check_private_key:键值不匹配但模数匹配

时间:2016-02-06 15:47:09

标签: ssl nginx openssl ssl-certificate

我的nginx服务器带有StartSSL免费证书,很快就会过期。我想更新它。

openssl req -new -sha256 -nodes -days 365 -newkey rsa:2048 -keyout ssl.key -out ssl.csr

我输入证书生成所需的信息。我将此CSR粘贴到网站上,并成功获得域名签名证书和主域名2子域名。

加载证书服务器后输出此错误:

feb 05 17:46:19 systemd[1]: Unit nginx.service entered failed state.
feb 05 17:47:13 nginx[4514]: nginx: [emerg] SSL_CTX_use_PrivateKey_file("/etc/nginx/ssl/nginx.key") failed (SSL: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch
feb 05 17:47:13 nginx[4514]: nginx: configuration file /etc/nginx/nginx.conf test failed
feb 05 17:47:13 systemd[1]: nginx.service: control process exited, code=exited status=1
feb 05 17:47:13 systemd[1]: Failed to start A high performance web server and a reverse proxy server.

我用这些命令测试了模数:

openssl x509 -noout -modulus -in nginx.crt | openssl md5
openssl rsa -noout -modulus -in nginx.key | openssl md5
openssl req -noout -modulus -in ssl.csr | openssl md5

他们匹配。

StartSSL提供带有中间证书的证书包。我发现如果它们的顺序不正确就会失败,所以我尝试将它们作为第一个证书而没有成功。

编辑:我尝试使用nginx 1.9.3在另一台服务器上进行密钥和证书,但它正在运行。所以证书是可以的,但服务器不是。

1 个答案:

答案 0 :(得分:2)

创建捆绑包时请检查证书序列。它应该按以下顺序排列:

  1. 服务器证书

  2. 中级证书

  3. 根证书

  4. 这可能是错误背后的原因。