我正在尝试使用 apache 在 Fedora 上设置 SSL。
在我的虚拟主机中......
SSLCertificateFile /your/path/to/crt.crt
SSLCertificateKeyFile /your/path/to/key.key
SSLCertificateChainFile /your/path/to/DigiCertCA.crt
我使用自签名密钥可以正常工作,但无法让它与 DigiCertCA crt 一起工作。
当我跑步时
service httpd restart
无法启动。这是我在日志中看到的内容...
[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!
任何帮助都将非常感谢!
答案1
确保链中没有缺失的证书,文件中SSLCertificateChainFile
应该按顺序包含所有证书,从 CA 开始,然后到用于签署 CRT 的任何中间证书,否则您将收到错误。
如果你没有任何中级证书(查看 Digicert 页面,似乎没有http://www.digicert.com/ssl-certificate-installation-apache-ensim.htm)你应该SSLCACertificateFile
使用
答案2
对旧线程的更新...
我刚刚通过将中间文件和根.crt
文件合并到一个新.ca-bundle
文件中来创建 CA 链文件时发生了这种情况;问题是第一个证书文件没有以换行符结尾,因此它的“END”行和下一个行BEGIN
连接在一起,就像
-----END CERTIFICATE----------BEGIN CERTIFICATE-----
我刚刚编辑了文件并放入了换行符,如下所示:
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
然后它就成功了。
答案3
上面的修复可能有用,但对我来说修复是这样的:
如果链接如下:
在这种情况下,格式是 p7b (PCKS #7);要将证书与 apache 一起使用,您必须对其进行转换。
openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer
在生成的 .cer 文件中,您将提交与相关 CA 证书捆绑在一起的 x.509 证书,将它们分解到相关的 .crt 和 ca.crt 文件中,然后像往常一样加载到 apache 中。
答案4
当我复制 digicert 中级证书并保存证书时,我遇到了类似的问题,我错误地在证书文件中输入了一些字符,并且无法重新启动 apache,但是当我删除这些字符并重新启动服务器时,它就起作用了。