我安装了由我们自己的证书颁发机构签名的新 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 中,如所述这里