无法配置 CA 证书链

无法配置 CA 证书链

我正在尝试使用 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

上面的修复可能有用,但对我来说修复是这样的:

http://blog.oneiroi.co.uk/openssl/x.509/pcks7/openssl-unable-to-load-certificate-wrong-asn1-encoding-routines-asn1-check-tlen-tag-tasn-dec-dot-c-1319/

如果链接如下:

在这种情况下,格式是 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,但是当我删除这些字符并重新启动服务器时,它就起作用了。

相关内容