SSL 库错误:X509_check_private_key:键值不匹配

SSL 库错误:X509_check_private_key:键值不匹配

我安装了由我们自己的证书颁发机构签名的新 SSL 证书。Apache 无法启动,并出现错误:

SSL 库错误:185073780 错误:0B080074:x509 证书例程:X509_check_private_key:密钥值不匹配

我已经验证了密钥和证书确实匹配,所以错误消息是错误的。我尝试过使用和不使用指令SSLCaCertificateFile。我该如何解决这个问题?

diff <(openssl rsa -in KEY -modulus -noout) <(openssl x509 -in CERT -modulus -noout)

没有产生任何输出,我认为这是正确的。

制作证书所用的命令:

创建 CA:

openssl genrsa -des3 -out ca.key 4096

自签名 CA

openssl req -new -x509 -days 1826 -key my.key -out  my.crt

生成服务器密钥

openssl genrsa -out server.key 2048

为新密钥创建 csr

openssl req -new -key server.key -out server.csr

从 CSR 创建证书:

openssl x509 -req -in server.csr -CA my.crt -CAkey my.key -out server.crt -days 1820

答案1

我有多个启用了 SSL 的 vhost 文件。

对于第二台主机,我并不关心其是否匹配域名,因为它是供私人使用的。如果您在单个 IP 上有多个使用 SSL 的虚拟主机,则显然必须同时更新所有虚拟主机中的证书。

答案2

确保提供所有证书链。您也可以尝试将它们合并到一个 .pem 中,如所述这里

相关内容