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

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

Существует ли способ указать больше чем один корневой CA для клиентской проверки сертификата в nginx, или я должен использовать Apache для этого?

7
задан 30 March 2017 в 16:26
1 ответ

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

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

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

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

Максим Дунин

11
ответ дан 2 December 2019 в 23:28

Теги

Похожие вопросы