Jump to content
Калькуляторы

Вопрос по 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

 

 

 

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

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

Share this post


Link to post
Share on other sites

И еще вопрос.

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

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

Share this post


Link to post
Share on other sites

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

 

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

 

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

 

SSLUserName SSL_CLIENT_S_DN_Email

Edited by vop

Share this post


Link to post
Share on other sites

Незабываем.

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

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

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

 

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

Edited by vop

Share this post


Link to post
Share on other sites

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.