mod_ssl SSLCACertificatePath 正确使用或处理多个可接受客户端证书 CA 的最佳方法是什么

mod_ssl SSLCACertificatePath 正确使用或处理多个可接受客户端证书 CA 的最佳方法是什么

我正在尝试使用 mod_proxy SSLCACertificatePath 指令,但对于如何正确使用它有点困惑。

以下两个链接解释了 SSLCACertificatePath 指令:
http://httpd.apache.org/docs/2.0/mod/mod_ssl.html#sslcacertificatepath
http://www.modssl.org/docs/2.8/ssl_reference.html#ToC13

我不太清楚如何创建散列符号链接。第二个链接说明使用 apache make 文件,但我完全不知道那里到底说了什么。

任何友好的指导都将不胜感激。

感谢您的时间。

更新

我的问题的目的是弄清楚如何处理多个 CA 来验证最终用户客户端证书。我没有意识到可以在一个文件中使用多个 pem 证书,而这对我来说显然是正确的前进方式。

答案1

如果你不清楚如何创建哈希命名的符号链接,我的建议是不是使用CACertificatePath,而是使用CACertificateFile。(实际上,这是我的一般建议:CACertificateFile 如果您拥有大量经常更改的 CA 证书,则正确维护 可能需要稍微多一点的工作,但您可能不应该拥有大量 CA 证书,而且它们无论如何也不应该发生太大的变化……)此外,似乎引用的 Makefile 已从 Apache 的分发 tarball 中消失(公众普遍缺乏抗议可能表明有多少人正在使用“路径”方法存储证书 :)。

尽管如此,如果您仍然想这样做,您可以按照 DerfK 所说的进行操作(获取旧的 Makefile,或者编写自己的脚本/makefile,openssl x509 -noout -hash针对您的所有证书文件运行并创建适当命名的符号链接)。

答案2

我发现了一个打开错误关于这一点。除了下载错误中提到的旧 modssl.org 版本并从中获取 Makefile 之外,似乎还可以从中获取哈希值,openssl x509 -in foo.crt -noout -hash尽管不清楚“.N”部分指的是什么(也许这是针对哈希冲突的(例如,第一个哈希为 12345678 的证书有一个指向它的符号链接 12345678.1,第二个具有相同哈希的证书使用 .2?或者也许它以 .0 开头?)

如果您Makefile.crt从旧的 modssl 获取文件,我相信您会将其放入包含所有证书的文件夹中,然后make -f Makefile.crt在该文件夹中运行。

相关内容