Сертификаты в PHP. Двухсторонняя аутентификация ssl. апаш

Контекст: рабочий сервер с установленным SSL. Запуск сервера Apache. PHP.

Проблема: для определенного URL-адреса, например (например: www.domain.com/whwhat/edit/*), я хочу попросить пользователей использовать свой сертификат для аутентификации их для конкретной задачи.

Я читал, что этот способ аутентификации называется двусторонней аутентификацией SSL. Я не знаю, прав я или нет.

Что я попробовал на конфигурации сервера, так это

<VirtualHost _default_:433>

ServerAdmin webmaster@localhost

DocumentRoot /Applications/MAMP/htdocs/smartdataprotection/web/

Options FollowSymLinks

Options Indexes FollowSymLinks MultiViewsLogLevel warn
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/ssl_access.log combinedSSLEngine on
SSLCertificateFile    /Applications/MAMP/htdocs/certificates/server.cer
SSLCertificateKeyFile /Applications/MAMP/htdocs/certificates/server.key
SSLOptions +StdEnvVars

# Below for 2 way ssl
SSLVerifyClient require
SSLVerifyDepth 10
SSLCACertificateFile /Applications/MAMP/htdocs/certificates/ca.cer

Я хотел бы получить что-то похожее на следующий снимок экрана:
введите описание изображения здесь

Большое спасибо заранее, любая помощь будет очень кстати и высоко ценится.

С уважением.

0

Решение

Я думаю, что ты пропал SSLCipherSuite директива . В документации Apache:

Эта сложная директива использует разделенную двоеточиями строку шифра-спецификации
состоящий из спецификаций шифра OpenSSL для настройки шифра
Клиенту разрешено вести переговоры в фазе рукопожатия SSL.

Также обычно вы хотите войти на сайт с сертификатом в определенном месте, а не непосредственно на www.yourdomain.com, например, с помощью ссылки на кнопку, чтобы перейти к wwww.yourdomain.com/yourApp/loginCert так что вы должны настроить <Location> внутри <VirtualHost>,

Наконец, проверьте файл, указанный в SSLCACertificateFile директива, этот файл представляет собой объединение сертификатов CA в PEM формат, который выдает сертификаты, разрешенные для входа на ваш сайт, если ваш сертификат не выдан одним из CA внутри этого файла, они не будут отображаться во всплывающем окне браузера.

Конфигурация может выглядеть так:

<VirtualHost _default_:433>
...
<Location /yourApp/loginCert>

SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCACertificateFile conf/trustedCA.cer
SSLVerifyClient required
SSLVerifyDepth 10
SSLOptions +StdEnvVars +ExportCertData +OptRenegotiate

</Location>

Надеюсь это поможет,

2

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

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

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