apache — Сведения о клиентском сертификате отсутствуют в переменной PHP $ _SERVER

Мы используем клиентские сертификаты для аутентификации пользователей для внутреннего сайта.

Пока мы используем SSLVerifyClient требуют в нашем конфигурационном файле Apache мы также проверяем детали в сертификате для проверки пользователя. Я недавно перешел с сервера под управлением старой версии Apache на сервер под управлением Apache 2.4.7

На предыдущем сервере переменная PHP $ _SERVER имела ключи SSL_CLIENT_S_DN_CN и SSL_CLIENT_S_DN_Email, заполненные этими данными из сертификата клиента. На новом сервере они отсутствуют. Я включил опцию SSL + ExportCertData

Конфигурация Apache, как и прежде, я выкладываю и редактирую версию ниже.

<VirtualHost 192.0.0.1:443>

DocumentRoot /dir
ServerName   192.0.0.1


SSLEngine on

<IfModule mod_php4.c>
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
AddType application/x-httpd-php .html
</IfModule>
<IfModule mod_php5.c>
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
AddType application/x-httpd-php .html
</IfModule>
AddHandler cgi-script .cgi
AddHandler cgi-script .pl
ScriptAlias /cgi-bin   "/dir/cgi-bin"
<DIRECTORY /dir>
OPTIONS  Indexes ExecCGI FollowSymLinks
SSLOptions +StdEnvVars
AllowOverride All
</DIRECTORY>

#below all self-signed
SSLCertificateFile /ssl/cert.pem
SSLCertificateKeyFile /ssl/key.pem
SSLCACertificateFile /ssl/cacert.pem

SSLVerifyClient require
SSLOptions +FakeBasicAuth +ExportCertData +StdEnvVars

SSLVerifyDepth 1
IndexOptions FancyIndexing
SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown

</VirtualHost>

Интересно, может ли кто-нибудь осветить, как заполнить эти переменные в PHP. Где-то в Apache или PHP есть опция конфигурации, которую мне не хватает?

РЕДАКТИРОВАТЬ — yes / dir — это каталог, в котором мы его запускаем (выше, чем в реальном каталоге). Не уверен, почему у меня есть + StdEnvVars во второй раз в тегах DIRECTORY, чтобы быть честным 🙂

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]