我的公司希望为我们的网站使用两种不同类型的SSL证书:一种使用RSA,另一种使用ECDSA。原因是因为使用我们网站的外部服务使用的代码非常陈旧,所以我们需要兼顾两者。
编辑:我们正在使用Apache 2.4,两个证书来自同一个权限。因此,下面的根CA是相同的,但由于RSA / ECDSA差异,中间体是不同的。
我们的Apache配置如下:
### RSA cert
SSLCertificateFile /etc/ssl/certs/website_com_rsa.crt
SSLCertificateKeyFile /etc/ssl/private/website_com_rsa.key
### ECDSA cert for compatibility
SSLCertificateFile /etc/ssl/certs/website_com_ecdsa.crt
SSLCertificateKeyFile /etc/ssl/private/website_com_ecdsa.key
### RSA/ECDSA cert bundle
SSLCertificateChainFile /etc/ssl/certs/website_com.ca-bundle
我不确定的部分是CA捆绑包。我的问题是:
SSLCertificateChainFile
指令,每种指令一种(RSA和ECDSA)吗?RSA捆绑
-----BEGIN CERTIFICATE-----
...
<rsa-intermediate-1>
...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
...
<rsa-intermediate-2>
...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
...
<root-ca>
...
-----END CERTIFICATE-----
ECDSA捆绑
-----BEGIN CERTIFICATE-----
...
<ecdsa-intermediate-1>
...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
...
<ecdsa-intermediate-2>
...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
...
<root-ca>
...
-----END CERTIFICATE-----
它们应该以什么顺序组合?
答案 0 :(得分:1)
从Apache 2.4 docs for SSLCertificateChainFile
开始,您似乎会在配置了SSLCertificateFile
的文件中提供单独的链,即将服务器证书与其对应的证书链相结合,同一个文件。
例如,您的/etc/ssl/certs/website_com_rsa.crt
可能包含多个证书,从服务器证书到root用户:
-----BEGIN CERTIFICATE-----
...
<website-com-rsa>
...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
...
<rsa-intermediate-1>
...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
...
<rsa-intermediate-2>
...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
...
<root-ca>
...
-----END CERTIFICATE-----
同样适用于您的/etc/ssl/certs/website_com_ecdsa.crt
文件。这意味着不使用SSLCertificateChainFile
。
希望这有帮助!