2016-05-15

victor_sudakov: (Default)
2016-05-15 10:31 pm

Аутентификация и авторизация в apache22 по клиентскому сертификату

Имя пользователя из клиентского сертификата получаем командой
$ openssl x509 -noout -subject -in sudakov.pem
subject= /C=RU/ST=Siberia/L=Tomsk/O=SibPTUS/OU=PL/CN=Victor Sudakov/emailAddress=sudakov@sibptus.ru


Если в имени пользователя есть пробелы, то в AuthUserFile вписываем это имя без кавычек:
/C=RU/ST=Siberia/L=Tomsk/O=SibPTUS/OU=PL/CN=Victor Sudakov/emailAddress=sudakov@sibptus.ru:xxj31ZMTZzkVA


а в .htaccess в кавычках
Require user "/C=RU/ST=Siberia/L=Tomsk/O=SibPTUS/OU=PL/CN=Victor Sudakov/emailAddress=sudakov@sibptus.ru"


После этого в конфиге апача включить
SSLVerifyClient optional
SSLCACertificateFile "/usr/local/etc/apache22/cacert.pem"
<Directory "/path/to/your/site">
    SSLOptions +StdEnvVars +FakeBasicAuth
</Directory>