Авторизация клиента клиента Nginx

130
19

Я должен настроить Nginx для принятия клиентских самозаверяющих сертификатов. Проблема в том, что сертификаты должны быть подготовлены самими клиентами и подписаны ими. Я знаю недостатки такого подхода, но это требование клиента. В настоящее время Nginx настроен на прием клиентских сертификатов, подписанных моим собственным CA (не доверенным). ssl_client_certificate указывает на ca.crt. Заказчику требуется около 100 клиентских сертификатов, каждый из которых подписан другим ненадежным ЦС, а не цепочкой. Как настроить Nginx таким образом? Я считаю, что я должен подготовить файл, содержащий каждый сертификат клиента, сертификат CA. Что-нибудь еще?

спросил(а) 2021-01-19T12:13:22+03:00 9 месяцев назад
1
Решение
112

Почему вы не используете CACert? Таким образом, каждый клиент может генерировать свой сертификат (проще, чем делать самостоятельно), и вы держите только один CA в ssl_client_certificate.

В противном случае вам придется объединить все ЦС в файл, указанный для ssl_client_certificate.

Кроме того, вы можете выпускать CA-CA для каждого пользователя (затем каждый из них генерирует свой сертификат), и вы используете только свой CA в ssl_client_certificate и указываете правильный ssl_verify_depth:

ssl_verify_client      on; # or optional
ssl_verify_depth 2; # >1, depending on your CA chain

ответил(а) 2021-01-19T12:13:22+03:00 9 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема