要求由Apache中的特定中间CA颁发的客户端证书

我有这样的CA层次结构:

               根CA
           ________ | _____________
          |  |
      testingCA生产CA
     _____ | _____ ____ | ____
    |  |  |  |
 TEST-SRV TEST-CLI PROD-SRV PROD-CLI

从PROD-SRV服务器证书所标识的生产服务器的angular度来看,如何设置Apache mod_ssl来要求由PRODUCTION-CA签署的PROD-CLI客户端证书,并且不允许客户端使用由TEST-CA?


目前我有:

 SSLCertificateFile prod_srv.crt
 SSLCertificateKeyFile prod_srv.pem
 SSLCADNRequestFile prod_ca.crt
 SSLCACertificateFile root_ca.crt

这看起来像是在工作,因为服务器向浏览器请求PROD CLI证书,但是如果我提供TEST CLI证书,则会构build一个有效的证书path,并将testing客户端接受到生产系统中。

查看SSLRequire指令 – 以下规则应查看颁发证书的颁发者字段(即CA证书),挑出CN并将其与您的PRODUCTION-CA证书的名称进行匹配。

SSLRequire %{SSL_CLIENT_I_DN_CN} == "PRODUCTION-CA"