我正在尝试使用 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 证书,在我的情况下,这显然是前进的正确方法。
我在使用 mod_proxy 将客户端 x509 证书从 Apache 转发到 Tomcat 时遇到了困难。
从观察和阅读一些日志来看,客户端 x509 证书似乎正在被 Apache 接受。但是,当 Apache 向 Tomcat(其中包含 clientAuth="want")发出 SSL 请求时,在 ssl 握手期间似乎没有传递客户端 x509 证书。
是否有一种合理的方法可以查看 Apache 在与 Tomcat 握手期间对客户端 x509 证书进行的操作?
这是我正在使用的环境:Apache/2.2.3 Tomcat/6.0.29 Java/6.0_23 OpenSSL 0.9.8e
这是我的 Apache VirtualHost SSL 配置:
<VirtualHost xxx.xxx.xxx.xxx:443>
ServerName xxx
ServerAlias xxx
SSLEngine On
SSLProxyEngine on
ProxyRequests Off
ProxyPreserveHost On
ErrorLog logs/ssl_error_log
TransferLog logs/ssl_access_log
LogLevel debug
SSLProtocol all -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
SSLCertificateFile /usr/local/certificates/xxx.crt
SSLCertificateKeyFile /usr/local/certificates/xxx.key
SSLCertificateChainFile /usr/local/certificates/xxx.crt
SSLVerifyClient optional_no_ca
SSLOptions +ExportCertData
CustomLog logs/ssl_request_log \
"%t …
Run Code Online (Sandbox Code Playgroud)