Перейти к содержимому
Калькуляторы

Вопрос по SSL-сайтам выборочное требование клиентского сертификата

Есть SSL-сайт, допустим https://site.ru.'>https://site.ru.

В нем есть два основных раздела, https://site.ru/zone1'>https://site.ru/zone1 и https://site.ru/zone2.'>https://site.ru/zone2. При входе на корневую страницу (https://site.ru или http://site.ru) перекидывает на zone2.

На zone2 может зайти любой посетитель. На zone1 может зайти пользователь, имеющий сертификат из списка.

Сервер Apache 1.3.

 

По информации из интернета получается примерно такое:

Конфигурация httpd или .htaccess

 

 

SSLEngine on
SSLOptions +StdEnvVars +ExportCertData
SSLCertificateFile site.crt
SSLCertificateKeyFile site.key
SSLCACertificateFile staff.crt
SSLCARevocationFile staff.crl
<Location /zone1>
   SSLVerifyClient require
   SSLRequire %{SSL_CLIENT_I_DN_Email} in {"ca@site.ru", "staff@site.ru"}
   SSLOptions +FakeBasicAuth
   AuthName "Secured Area"
   AuthType Basic
   AuthUserFile whitelist.lst
   require valid-user
</Location>

 

 

 

whitelist.lst

 

 

/emailAddress=admin@site.ru:xxj31ZMTZzkVA
/emailAddress=user1@site.ru:xxj31ZMTZzkVA
/emailAddress=user2@site.ru:xxj31ZMTZzkVA

 

 

 

Но отдельно проверить не на чем, а делать на боевом сервере боязно.

Просьба проверить, все ли правильно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

И еще вопрос.

Когда сервер запрашивает клиентский сертификат, у посетителя браузер выдает диалоговое окно для выбора сертификата.

А можно сделать так, чтобы диалоговое окно не выдавалось? Если у клиента есть нужный сертификат (например сервер отправляет список сертификатов, которые он может принять, либо клиент отправляет на сервер все имеющиеся сертификаты), то ресурс открывается, если нужного сертификата нет, то ошибка.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Насколько помню, то в whitelist.lst должна быть полностью вся строка DN. Ну и в параметре SSLRequire перечислены e-mails, которые не совпадают с whitelist.lst. Хотя, там мыло issuer'а.

 

PS Проверить можно на отдельном каталоге, вставив в .htaccess конфиг вместо части Location.

 

Да, еще забыл. Что бы в whitelist.lst можно было добавлять только e-mails, надо добавить опцию

 

SSLUserName SSL_CLIENT_S_DN_Email

Изменено пользователем vop

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Незабываем.

А это для чего?

У меня сервер один и IP-адрес один.

zone1 и zone2 это разделы на одном сайте.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Незабываем.

А это для чего?

У меня сервер один и IP-адрес один.

zone1 и zone2 это разделы на одном сайте.

 

Я так понял, чел для расширения кругозора читателей это написал. :)

Изменено пользователем vop

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.