我有一些 apache 实例使用自制生成的证书顺利运行。现在我必须使用提供的证书,但我发送的只是一个 .crt 文件。试图将其复制到正确的目录中,但是当我尝试重新启动网络服务器时,它会记录:
SSL Library Error: 185073780 error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch
Run Code Online (Sandbox Code Playgroud)
我认为这是正确的,因为 .key 文件是我自己制作的。有没有办法从 .crt 生成正确的 .key 文件?
对于您的自签名证书,您可能执行了以下操作:
$ openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout mysitename.key -out mysitename.crt
Run Code Online (Sandbox Code Playgroud)
然后为 Apache 创建这样的行:
<VirtualHost 192.168.0.1:443>
DocumentRoot /var/www/website
ServerName www.domain.com
SSLEngine on
SSLCertificateFile /etc/ssl/crt/primary.crt
SSLCertificateKeyFile /etc/ssl/crt/private.key
SSLCertificateChainFile /etc/ssl/crt/intermediate.crt
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
有了 CA 签名的证书,情况略有变化。您需要使用private.key
用于签署 CA 证书的文件,而不是用于执行自签名证书的文件。
在某些情况下,您可以从提供给您的文件中导出密钥,但我们需要了解有关提供给您的实际证书文件的更多信息。
我处理过 .p12 文件,需要从中提取 .key 文件。
$ openssl pkcs12 -in star_qmetricstech_com.p12 -out star_qmetricstech_com.key
Run Code Online (Sandbox Code Playgroud)
但是对于 SSL 证书,容器文件有多种类型,因此您必须特别注意不同的文件,以及哪些文件一起使用。
归档时间: |
|
查看次数: |
73680 次 |
最近记录: |