我可以在 Apache 中同时使用 RSA 和 ECC 证书吗?

我可以在 Apache 中同时使用 RSA 和 ECC 证书吗?

如果我只是使用“SSLCertificateFile”和“SSLCertificateKeyFile”两次,那么第一次的证书链就会断裂。

我可以使用由不同的中间 CA 证书颁发的 RSA 和 ECC 证书吗?

==================

更新:OpenSSL 1.0.2 解决了这个问题。只需使用“SSLCertificateFile”和“SSLCertificateKeyFile”两次。请注意,“SSLCertificateFile”应该是证书的整个链。

答案1

这取决于 Apache 版本和 OpenSSL 版本。

使用 Apache 并行运行 ECC 和 RSA 证书不同的中级证书需要 Apache 2.4.8+ 和 OpenSSL 1.0.2+。

sslcertificatefile条目从 Apache 2.4.8 开始添加了对中间体的支持。OpenSSL 从 1.0.2 版开始添加了按证书加载中间体的功能。

这些文件还可能包含中间 CA 证书,按从叶到根的顺序排序。版本 2.4.8 及更高版本支持此功能,并已淘汰 SSLCertificateChainFile。当使用 OpenSSL 1.0.2 或更高版本运行时,这允许基于每个证书配置中间 CA 链。

来源:http://httpd.apache.org/docs/2.4/mod/mod_ssl.html#sslcertificatefile

尽管早期版本的 Apache 支持多个sslcertificatefile条目,但它不会从这些条目中加载中间件,并且只能SSLCertificateChainFile使用一次。因此,在早期版本中,您仍然可以并行运行 ECC/RSA/DSA 证书,但它们都必须使用相同的中间件。

但请注意:仅当您使用单个基于 RSA 或 DSA 的服务器证书时,提供证书链才有效。如果您使用耦合的 RSA+DSA 证书对,则只有当两个证书实际上使用相同的证书链时,这才会有效。否则浏览器在这种情况下会感到困惑。

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

相关内容