我尝试在单个虚拟主机中配置多个SSLCACertificateFile
,但显然 apache 只接受以ca_sha256.cer
根证书为名的请求,有没有办法SSLCACertificateFile
在单个虚拟主机中同时支持这两个,而无需创建单独的虚拟主机
SSLCACertificateFile "C:/apache/conf/ca_sha1.cer"
SSLCACertificateFile "C:/apache/conf/ca_sha256.cer"
答案1
不,这是不可能的,您必须将两个文件连接在一起,这样您就可以使用一个包含所有 CA 列表的文件。
执行您想要的操作的最简单的方法是将证书放在目录中,将其符号化为文件名,然后使用 SSLCACertificatePath。
创建每个链接的文件名的过程很详细这里:
当在单个目录中安装多个 CA 证书时,可以使用以下命令计算每个文件 (NAME-OF-CA-FILE) 的哈希值:
openssl x509 -noout -hash -in NAME-OF-CA-FILE
一旦知道了哈希值(HASH),您就可以重命名该文件,以便 OpenSSL 可以找到它:
mv NAME-OF-CA-FILE HASH.0
但是,这对系统管理员来说有点不友好,因为不清楚存在哪些 CA 证书。因此许多人选择保留文件的原始名称并为 OpenSSL 创建指向该文件的符号链接:
ln -s NAME-OF-CA-FILE HASH.0
这样,OpenSSL 可以有效地找到正确的 CA 证书,并且系统管理员可以知道存在哪些 CA 证书。