我正在尝试使用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
我对如何创build哈希符号链接不积极。 第二个链接指出使用apache make文件,但是我对那里正在说的是什么都不知情。
任何友好的指导将不胜感激。
感谢您的时间。
UPDATE
我的问题的目标是找出如何处理多个CA来validation最终用户客户端证书。 我没有意识到可以在一个文件中使用多个Pem证书,在我看来,这显然是向前推进的正确方法。
如果您不清楚如何制作散列名称符号链接,我的build议是不使用CACertificatePath ,而是使用CACertificateFile 。 (其实这是我一般的build议:如果你有很多经常变化的CA证书,那么正确地维护一个CACertificateFile可能会稍微多一些工作,但是你可能不应该有很多的CA证书,而且它们不应该有太大的改变。 ..)另外,似乎引用的Makefile已经从Apache的分发tarball中消失了(而普遍缺乏公众抗议可能表明有多less人正在使用存储证书的“path”方法:)。
所有这一切,如果你仍然想要这样做,你可以按照DerfK的说法(要么得到旧的Makefile,要么写自己的脚本/生成文件,运行openssl x509 -noout -hash对付所有的证书文件,并创build适当的命名符号链接)。
我发现一个关于这个开放的错误 。 除了下载bug中引用的旧modssl.org发行版并从中获取Makefile之外,似乎可以从openssl x509 -in foo.crt -noout -hash获得散列值,但不清楚“ .N“部分是指(也许这是为了散列冲突(例如,第一个散列12345678有一个符号链接12345678.1指向它,第二个散列使用相同的哈希值.2或者也许它以.0开头)
如果你从旧的modssl中得到了Makefile.crt文件,我相信你要做的就是把它放在包含所有证书的文件夹中,然后在该文件夹中运行make -f Makefile.crt 。