Назад | Перейти на главную страницу

Apache SSLVerifyClient не работает у некоторых пользователей

Я унаследовал систему под управлением Apache 2.4, которая требует от пользователей предоставления клиентских сертификатов. Некоторым пользователям не передается их клиентский сертификат, и поэтому им отказывают в доступе.

ssl.conf выглядит следующим образом:

Listen 443 https
SSLPassPhraseDialog exec:/usr/<pasphraseexecfile>
SSLSessionCache     shmbc:/run/<pathtocache>
SSLSessionCacheTimeout 300
SSLCryptoDevice     builtin
SSLCryptoDevice     rdrand
SSLCryptoDevice     dynamic
SSLStaplingCache    shmbc:/var/run/<pathtocache>

<VirtualHost _default_:443>
  DocumentRoot "/var/www/html/myproject"
  ServerName "www.myproject.com:443"
  SSLEngine    on
  ErrorLog     /logs/ssl_error_log
  TransfrerLog /logs/ssl_access_log
  LogLevel warn
  SSLProtocol    -SSLv3 +TLSv1 +TLSv1.1 +TLSv1.2
  SSLUseStapling on
  SSLStaplingResponderTimeout 5
  SSLStaplingReturnResponderErrors off
  SSLCompression off
  Header add Strict-Transport-Security "max-age=15768000"
  SSLCertificateFile      <pathtocert>
  SSLCertificateKeyFile   <pathtokey>
  SSLCertificateChainFile <pathtochainfile>
  SSLCACertificateFile    <pathtocacertfile>
  SSLVerifyClient optional
  SSLVerifyDepth 2
  <Files ~ "\.(cgi|shtml|phtml|php3?)$">
    SSLOptions +StdEnvVars
  </Files>
  <Directory "/var/www/html/myproject">
    SSLOptions +StdEnvVars +ExportCertData
  </Directory>
  CustomLog logs/ssl_request_log \
          "%t %h %a \"%{SSL_CLIENT_S_DN_CN}x\" %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %s %b"
</VirtualHost>

Также существует whitelist.conf для ограниченного круга пользователей.

<Directory /var/www/html/myproject>
  <RequireAny>
    Require ssl-verrify-client
    <RequireAny>
      ... internal list ..
    </RequireAny>
  </RequireAny>
</Directory>

Большинство пользователей, которым отказано в доступе, работают под управлением Windows 10 с использованием различных браузеров (IE, Firefox и Chrome). Многие также используют ActiveClient. Что может помешать этим пользователям предоставить свои сертификаты?