RapidSSL 认证 - 无法让其在 nginx 上运行

RapidSSL 认证 - 无法让其在 nginx 上运行

我们已经从 RapidSSL 购买了 SHA-2 证书,但我无论如何也用不了它!我们首先创建了。钥匙.crt目标服务器上的文件,使用(显然重要内容已被删除);

openssl req -new -newkey rsa:2048 -nodes -out www_x.com.csr -keyout www_x_com.key -subj "/C=GB/ST=x/L=x/O=x/CN=www.x.com"

这创造了.crt和 .key 文件都很好。现在,我将他们发给我的证书保存为主文件。然后,他们给我发了一封电子邮件:

https://knowledge.rapidssl.com/support/ssl-certificate-support/index?page=content&id=AR1549

在这里,他们有 2 个 SHA-2 中级证书...我假设这是我需要的第二个?(甚至不确定第一个是什么!)

然后,保存文件后cat

cat www_x.com.csr CA_Cert.crt > new.crt

(也尝试了其他方法:cat CA_Cert.crt www_x.com.csr > new.crt,但都不起作用)

然后,在我的 nginx 配置中我有:

ssl    on;
ssl_certificate        /home/test/certs/new.crt;
ssl_certificate_key    /home/test/certs/www_x_com.key;

..然后当我重新启动时,出现失败错误:

nginx[30762]: nginx: [emerg] SSL_CTX_use_PrivateKey_file(“/home/test/certs/www_x_com.key”) 失败(SSL: 错误:0B080074:x509 证书例程:X509_check_private_key: 密钥值不匹配)

有人能帮忙吗?我习惯于用 ZIP 文件来获取我需要的所有东西...但这些家伙却不是这样!

更新:一切正常!感谢大家的帮助。结果却是双重打击:

1) 我为之做这件事的人(购买了 SSL 证书的人)在生成证书时没有想到要输入 CSR 代码 =) 2)cat证书没有间断 - 所以它将其全部读取为一行

除此之外,现在一切似乎都正常了。很高兴那些问题都解决了,它们让我抓狂不已!!!

答案1

从评论中的确认以及你在问题中提出的内容来看

cat www_x.com.csr CA_Cert.crt > new.crt

你应该做的是

cat x.com.crt CA_Cert.crt > new.crt

csr 用于传递给 CA(在本例中为 RapidSSL),以便他们创建 crt。

答案2

“密钥值不匹配”意味着您指向 nginx 的私钥与相应证书中的公钥派生自的私钥不同。正如 Drifter104 提到的,您似乎将 CSR 与中间 CA 证书连接在一起,这肯定会导致此问题(nginx 将跳过 CSR 并假定中间证书是最终实体证书,这会导致此问题)。否则,您就把密钥弄混了,如果您找不到正确的密钥,则需要从 CA 重新签名。

相关内容