ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ssl client troubles



On Wed, 2 Aug 2006, Andrey Y. Ostanovsky wrote:

В конфиге ssl сервера имеется примерно такая конструкция:

ssl_verify_client          on;
ssl_client_certificate     cacert0.pem;
ssl_verify_depth          1;

Клиент получает сгенерированный и подписанный нами сертификат и ключи и
импортирует это в браузер из pkcs12 формата.
При записи в файл casert0.pem сертификата issuer-а - все работает.

issuer - это вы ?

При наладке заметил странную особенность.
1. Если я указываю глубину верификации 0 (т.е. верифицировать сертификат
клиента) - не работает при добавленном сертификате клиента в файл
casert0.pem.

0 - должны приниматься только self-signed сертификаты клиента:
http://www.modssl.org/docs/2.8/ssl_reference.html#ToC18

2. Если я в "файле клиентских сертификатов" оставляю только сертификат
клиента - не работает при любой глубине верификации.

В логе (похоже, в обоих случаях) одинаковая диагностика:
[crit] 11212#0: *39793 SSL_do_handshake() failed (SSL:
error:140890B2:SSL routines:SSL3_GET_CLIENT_CERTIFICATE:no certificate
returned) while reading client request line, client: 1XX.XXX.XXX.XXX,
server: XXX.XXXXXXX.XXX

В cacert0.pem находились self-signed сертификаты ?

Оно так и должно быть, или я что-то не так понял в документации и
невозможно авторизовать отдельно взятого клиента по его собственному
сертификату? Сейчас работает только авторизация клиента по подписавшей
организации. На фоне отсутствия revocation lists - ну, это просто
игрушка. :(

Не совсем игрушка - можно делать revocation на основании $ssl_client_s_dn.


Игорь Сысоев
http://sysoev.ru



 




Copyright © Lexa Software, 1996-2009.