ssl client troubles

Igor Sysoev is at rambler-co.ru
Wed Aug 2 16:35:51 MSD 2006


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





More information about the nginx-ru mailing list