我试图在httpd中使用SSLCACertificatePath指令指向客户端证书验证的根和中间体的集合.
我能够毫无困难地使用完整的,连接的PEM编码文件(使用SSLCACertificateFile指令),但我更愿意能够指向目录而不是构建一个大型文件.
我已按照httpd手册中的说明进行操作(并在此处进行了说明),包括对所有文件进行哈希处理,如下所示:
拿起我的巨型pem文件并使用awk
命令拆分所有单独的证书(大约40个左右)
对于每个pem文件,运行:
openssl x509 -noout -hash -in NAME-OF-CA-FILE
得到哈希
创建了指向名为HASH.X的pem文件的sym链接(如fa0db041.0,fa0db041.1等)
当我将httpd指向该目录时,当我尝试进行客户端证书验证时,我最终得到以下错误:
AH02039: Certificate Verification: Error (20): unable to get local issuer certificate AH02039: Certificate Verification: Error (19): self signed certificate in certificate chain
所以它就像是找不到中间体和根.
同样,这在使用组合PEM时都有效.
有什么建议?