配置 CA 证书链失败

kro*_*ron 8 linux ssl fedora ssl-certificate apache-2.2

我正在尝试使用 apache 在 Fedora 上设置 SSL。

在我的虚拟主机...

SSLCertificateFile /your/path/to/crt.crt
SSLCertificateKeyFile /your/path/to/key.key
SSLCertificateChainFile /your/path/to/DigiCertCA.crt
Run Code Online (Sandbox Code Playgroud)

我使用自签名密钥可以正常工作,但无法使其与 DigiCertCA crt 一起使用。

当我跑

service httpd restart
Run Code Online (Sandbox Code Playgroud)

它无法启动。这是我在日志中得到的...

[Sat Jan 29 07:57:13 2011] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suex$
[Sat Jan 29 07:57:13 2011] [error] Failed to configure CA certificate chain!
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激!

lyn*_*man 7

确保链中没有丢失的证书,SSLCertificateChainFile文件中的所有证书都应该先从 CA 开始,然后再到用于签署 CRT 的任何中间证书,否则您将收到错误消息。

如果您没有任何中间证书(查看 Digicert 页面,看起来好像没有http://www.digicert.com/ssl-certificate-installation-apache-ensim.htm),您应该SSLCACertificateFile改用


小智 7

对旧线程的更新...

当我通过将中间.crt文件和根文件合并到一个新.ca-bundle文件中来创建 CA 链文件时,我刚刚发生了这种情况;问题是第一个证书文件没有以换行符结尾,所以它的“END”行和下一BEGIN行连接在一起,比如

-----END CERTIFICATE----------BEGIN CERTIFICATE----- 
Run Code Online (Sandbox Code Playgroud)

我刚刚编辑了文件并将换行符放入,给出:

-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
Run Code Online (Sandbox Code Playgroud)

然后它起作用了。