Да, но:
- Например, в частной установке вы также можете использовать частный внутренний ЦС, чтобы вы могли контролировать, кто получает сертификаты или нет.
- Посмотрите на директиву SSLOptions , в некоторых случаях может помочь
FakeBasicAuth
- И вообще, у вас есть директива SSLRequire , где вы можете ограничить доступ на основе любого компонента представленного сертификата, например его CN.
Пример приведен в документации:
SSLRequire ( %{SSL_CIPHER} !~ m/^(EXP|NULL)-/ \
and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \
and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"} \
and %{TIME_WDAY} -ge 1 and %{TIME_WDAY} -le 5 \
and %{TIME_HOUR} -ge 8 and %{TIME_HOUR} -le 20 ) \
or %{REMOTE_ADDR} =~ m/^192\.76\.162\.[0-9]+$/
Обратите внимание, что SSLRequire
теперь устарела в пользу Require
, что является почти строгим надмножеством. У вас есть https://httpd.apache.org/docs/2.4/expr.html подробности о том, как вы можете тестировать, а начало https://httpd.apache.org/docs/2.4/mod/mod_ssl.html показывает все возможные переменные "SSL", которые вы можете проверить, например:
SSL_CLIENT_M_SERIAL string The serial of the client certificate
SSL_CLIENT_S_DN string Subject DN in client's certificate
SSL_CLIENT_S_DN_x509 string Component of client's Subject DN