Назад | Перейти на главную страницу

Как указать несколько корневых сертификатов для проверки сертификата клиента nginx?

Для проекта в рамках Европейской сетевой инфраструктуры (EGI) нам нужна проверка сертификата клиента SSL для службы, работающей на nginx. Поскольку в EGI разрешено несколько корневых центров сертификации, нам нужно, чтобы nginx проверил их все во время проверки сертификата клиента. В документации nginx Я смог найти только параметр ssl_client_certificate что позволяет указать только один файл, содержащий корневой сертификат.

Есть ли способ указать более одного корневого ЦС для проверки сертификата клиента в nginx или мне нужно использовать для этого Apache?

Nginx поддерживает несколько корневых сертификатов. Просто поместите несколько сертификатов корневого ЦС в файл, указанный в ssl_client_certificate директива. Обратите внимание документы прямо скажите «сертификаты» (множественное число).

Это соображение почему nginx не поддерживает ssl_client_certificate в каталоге (как это делает Apache)

«Файл сертификата» и «путь к сертификату» не связаны с запуском чего-либо после обновления сертификатов или нет (в обоих случаях вам нужно что-то обновить, либо cat в отдельный файл, либо скрипт c_rehash для создания символических ссылок в случае CApath ). Разница заключается в сертификатах в памяти и сертификатах на диске, а последнее подразумевает системные вызовы и доступ к диску при каждой проверке сертификата.

Поскольку nginx предназначен для работы при высоких нагрузках, с большим количеством запросов (и рукопожатий) в секунду, он использует вариант CAfile. А поскольку перезагрузка конфигурации nginx выполняется без проблем, маловероятно, что вариант CApath добавит дополнительную ценность.

Максим Дунин