我最近使用以下命令重新生成了我从Gandi购买的SSL证书:
openssl req -nodes -newkey rsa:2048 -sha256 -keyout server.key -out server.csr
这将生成2个文件, server.csr和server.key然后我将上传签名请求给Gandi,Gandi交换了我的服务器证书以及中间证书。 然后我连接这些。
cat my-cert-from-gandi.crt intermediate.crt > chained-certificate.crt
然后在我的nginxconfiguration中:
ssl on; ssl_certificate /etc/nginx/certificates/chained-certificate.crt; ssl_certificate_key /etc/nginx/certificates/server.key;
然后当我尝试testing这个configuration( nginx -t )时,我收到以下输出:
nginx: [emerg] SSL_CTX_use_PrivateKey_file("/etc/nginx/certificates/server.key") failed (SSL: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch)
server.key的模数与server.csr的模数相匹配。 然而, my-cert-from-gandi.crt的模数与我私钥的模数不匹配。
一个潜在的暗示是,自从上次我做到这一点以来,中间证书似乎已经在甘地的目标上发生了变化。 以前它包含一个单独的BEGIN/END块,现在它包含两个。 不知道这是否意味着我必须做一些不同的事情。
任何帮助深表感谢。
您可能已经从您的CA下载了错误的签名证书,或者CA发生了奇怪的错误(并且设法破坏了您的密钥,签署了其他密钥或其他内容)。
您最好采取的行动是联系CA,看看他们是否会帮助您,仔细检查您是否已经下载了正确的签名证书。 他们应该撤销他们签署的一个,并再次签署你的CSR。
这与中间CA证书无关。