使用由服务器 CA 以外的其他 CA 签署的证书验证 HTTPS 客户端

Nel*_*ira 5 ssl apache-2.2

我有一个 apache web 服务器,ssl 上有一个由受信任的官方 CA 签名的服务器证书。我可以将 apache ssl 配置为接受由 CA 签署的有效证书而不是签署服务器证书的 CA 的客户端吗?

ssl_error_unknown_ca_alert即使我在 apache 中配置了其他 CA 并且服务器启动时没有错误,我也收到了。我创建了一个文件,其中包含签署服务器证书的 CA 的 CA 证书和我想要信任的 CA 的其他 CA 证书。然后我将 SSLCertificateChainFile指令指向这个文件。

我正在使用 Apache 2.2.22

编辑:

我正在使用
SSLCertificateFile指向服务器证书指向指向
SSLCertificateKeyFile服务器密钥的服务器密钥
SSLCertificateChainFile指向的证书链,该证书链
SSLCACertificateFile指向一个文件,其中包含我希望被接受的所有证书链

SSLVerifyClient require
SSLVerifyDepth  1
Run Code Online (Sandbox Code Playgroud)

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

Nel*_*ira 4

发现是什么问题了。该证书由 3 个 CA 链签名,我将 SSLVerifyDepth 设置为 1。将其设置为 10 并且有效。