是否可以仅允许 Apache 中的某些客户端证书登录?

是否可以仅允许 Apache 中的某些客户端证书登录?

在我的虚拟主机中我有类似的东西:

    SSLEngine on
    SSLCertificateKeyFile /etc/apache2/ssl/svn.XXXXX.me.key
    SSLCertificateFile /etc/apache2/ssl/svn.XXXXX.me.crt
    SSLProtocol all
    SSLCipherSuite HIGH:MEDIUM
    SSLVerifyClient require
    SSLCACertificateFile /etc/ssl/certs/ICA-Standart.0

到目前为止,我可以使用 CA“ICA-Standart.0”颁发的任何证书登录,但我想指定一种白名单,只有某些证书才允许登录,这可能吗?
如果可以,我应该查看哪个指令?

另请注意,CA 是一个公共认证机构。

答案1

您需要使用SSL_CLIENT_S_*指令:


    Require              ssl
    Require              ssl-verify-client
    SSLRequireSSL
    SSLOptions           +FakeBasicAuth +StrictRequire
    SSLRequire           %{SSL_CIPHER_USEKEYSIZE} >= 256
    SSLRequire           %{SSL_CLIENT_S_DN_O} eq "Company, LTD." \
                         and %{SSL_CLIENT_S_DN_OU} eq "Development" \
                         and %{SSL_CLIENT_S_DN_CN} in {"John Doe", "Jane Doe", "Other One"}
    SSLRenegBufferSize   131072
更多参考资料请参见阿帕奇文档。

相关内容