SSL clientAuth

Andrey Y. Ostanovsky andrey at ostanovsky.spb.ru
Wed Aug 30 10:37:11 MSD 2006


Igor Sysoev wrote:
>> 27 X509_V_ERR_CERT_UNTRUSTED: certificate not trusted
>> the root CA is not marked as trusted for the specified purpose.
>>
>> Маркируем имеющийся сертификат отдела как trusted:
>> openssl x509 -in department.pem -addtrust clientAuth -addtrust
>> serverAuth > cacert.pem
>>
>> Смотрим на результат:
>> # openssl x509 -noout -text -in cacert.pem
>> .....
>> Trusted Uses: TLS Web Client Authentication, TLS Web Server
>> Authentication
>> No Rejected Uses.
>>
>> Вроде бы, все должно работать? Ан, нет. Пока не изменишь
>> ssl_verify_depth на "2" и не добавишь в cacert.pem сертификат
>> организации - в логе абсолютно та же самая ругань на untrusted
>> certificate.
>> Это я что-то не так делаю, или где-то ошибка в коде?
> Насколько я понимаю, -addtrust не делает сертификат рутовым, а проверка
> должна делаться до рута.
Тогда было бы неплохо где-то в мануале ( ngx_http_ssl_module.html)
указать, что в файле сертификатов для авторизации клиента должна лежать
вся цепочка. И про verify_depth развернуть более подробно, что-то типа:
0 - клиентский self signed сертификат
1 - клиентский сертификат, выпущенный на основе self signed  CA
2 - клиентский сертификат, выпущенный на основе сертификата,
подписанного третьей стороной (для авторизации требуется наличие всей
цепочки авторизующих сертификатов).

Хотя, есть у меня подозрение, что при отсутствии промежуточного
сертификата - авторизация пройдет. Вечером попробую проверить.

-- 
Best regards, Andrey Y. Ostanovsky
St. Petersburg



More information about the nginx-ru mailing list