使用除服务器CA之外的其他CA签署的证书validationHTTPS客户端

我有一个Apache Web服务器,SSL上有一个由信任的官方CA签署的服务器证书。 我可以configurationapache ssl来接受客户端是否具有由签名服务器证书的CA以外的CA签名的有效证书?

我得到一个ssl_error_unknown_ca_alert即使我已经在Apache中configuration了其他CA,并且服务器启动时没有错误。 我创build了一个文件,其中包含签署服务器证书的CA的CA证书以及我想要信任的CA的其他CA证书。 然后我把SSLCertificateChainFile指令指向这个文件。

我使用的是Apache 2.2.22

编辑:

我在用着
指向服务器证书的SSLCertificateFile
SSLCertificateKeyFile poiting到服务器密钥
指向签署服务器证书的证书链的SSLCertificateChainFile
SSLCACertificateFile指向一个具有所有我想要接受的证书链的文件

 SSLVerifyClient require SSLVerifyDepth 1 

当我重新启动服务器并且没有错误时,Apache能够在日志中识别它们。 但是,我仍然有一个ssl_error_certificate_unknown_alert错误。 我还通过Meld中的文本比较validation了客户端证书链存在于SSLCACertificateFile中。

发现了什么问题。 证书由3个CA链签署,我将SSLVerifyDepth设置为1.将其设置为10,并且工作。

我相信你想要一个包含你想要使用的证书的目录。 您可能需要使用一些SSL魔术来创build证书的符号链接。 请参阅mod_ssl SSLCACertificatePath正确的用法或什么是处理多个可接受的客户端证书CA所需命令的最佳方法 。