Авторизация с помощью клиентских SSL сертификатов в nginx/fpm.

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Hi all,
я делаю API для веб-сервиса и запросы от клиентских скриптов хочу авторизовывать по сертификатам.
Читаю http://www.opennet.ru/base/sec/ssl_cert.txt.html как это делается на апаче.
Нашел http://nginx.org/ru/docs/http/ngx_http_ssl_module.html#ssl_client_certificate для nginx

В директиве ssl_client_certificate надо указывать файл сертификата, которым я подписываю клиентские или что?

Еще вижу: переменная $ssl_client_s_dn возвращает строку “subject DN”
т.е. можно передать идентификатор клиента из сертификата в PHP через fastcgi_param?
это будет удобно - можно открыть сессию
 

akd

dive now, work later
Команда форума
а опишешь потом схему грубо как все настроишь? скорее даже не все а только то, что пришлось выпиливать рашпилем отдельно от ртфм.
и еще, сертификаты руками раздавать будешь или хоть какое-то подобие автоматики?
 

флоппик

promotor fidei
Команда форума
Партнер клуба
В директиве ssl_client_certificate надо указывать файл сертификата, которым я подписываю клиентские или что?
Да, там должен быть CA сертификат (не знаю, как в нжинксе, возможно и вместе с закрытым ключом, или он в отдельной настройке указывается)
Еще вижу: переменная $ssl_client_s_dn возвращает строку “subject DN”
т.е. можно передать идентификатор клиента из сертификата в PHP через fastcgi_param?
Возможно лучше передавать $ssl_client_serial
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
а опишешь потом схему грубо как все настроишь? скорее даже не все а только то, что пришлось выпиливать рашпилем отдельно от ртфм.
и еще, сертификаты руками раздавать будешь или хоть какое-то подобие автоматики?
генерить будем автоматом, а раздавать - руками, потому как сначала сами будем настраивать клиентские приложения, а потом видно будет
после ссылки fixer-а писать уже нечего :)

Возможно лучше передавать $ssl_client_serial
да, можно, просто в common name можно самому написать что угодно, а serial самому задать нельзя

fixxxer
:) большое спасибо!
 

akd

dive now, work later
Команда форума
угу, согласен. ссылки с головой. спасибо. :)
мы просто тоже созрели до такой штуки, есть агенты, которых нельзя привязать кроме как логин/пароль, будем им насильно втюхивать серты :)
 
Сверху