SSLCertificateChainFile已过时

时间:2015-07-12 17:17:34

标签: apache ssl mod-ssl

我使用的是Apache 2.4.12,因此SSLCertificateChainFile现已过时,任何中间证书都应包含在服务器证书文件中。但是我无法弄清楚如何执行此操作 - 除之外的任何证书组合指定文件中的站点证书会导致无效的密钥错误。如何使用SSLCertificateFile

在我指定的文件中正确包含中间证书

2 个答案:

答案 0 :(得分:1)

取自Apache 2.4模块mod_ssl文档:

  
    

SSLCertificateFile指令

  
     

这些文件还可能包含从叶到根分类的中间CA证书。版本2.4.8及更高版本支持此功能,并废弃SSLCertificateChainFile

这意味着现在SSLCertificateFile指令(2.4.8之后)接受具有完整证书链的文件(从leaf到root)。如果您拥有domain.crt中的服务器证书和domain-ca.crt中的CA链文件,那么您需要将两个文件从leaf连接到root ,即从您的服务器证书,如

cat domain.crt domain-ca.crt > bundle.crt

并在您网站的conf文件中使用该文件:

SSLCertificateFile      /path/to/bundle.crt

(例如,使用Ubuntu默认路径,这些文件将存储在/etc/apache2/ssl/。)

答案 1 :(得分:0)

对于Apache 2.4.8,table_name.column_name已经过时了。但是,它已被弃用且未删除,因此您可以继续使用旧版款。但是,对于Apache版本> 2.4.8,SSLCertificateChainFile无效。

  

不推荐使用SSLCertificateChainFile

     

SSLCertificateChainFile在版本2.4.8时已经过时了   SSLCertificateFile已扩展为还加载中间CA.   来自服务器证书文件的证书

     

来源https://httpd.apache.org/docs/2.4/mod/mod_ssl.html#SSLCertificateChainFile

旧样式(在Apache< = 2.4.8上有效)

SSLCertificateChainFile

来源: How to Install an SSL Certificate on Apache

新样式(适用于Apache> = 2.4.8)

#SSL Directives
SSLEngine on
SSLCertificateFile /etc/ssl/certs/<mydomain.com>.crt
SSLCertificateKeyFile /etc/ssl/private/<mydomain.com>.key
SSLCertificateChainFile /etc/ssl/certs/<full-chain-bundle>.crt

来源: https://codesport.io/lamp-stack-advanced/lets-encrypt-tutorial/#vhost-config