我有这样的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"