OpenVPN - пытается проверить CRL на сертификате клиента

Я запускаю OpenVPN на аппаратном маршрутизаторе, на котором запущен OpenWRT. Каждый раз, когда клиент подключается, я получаю следующую ошибку в журналах:

ПРОВЕРЬТЕ ПРЕДУПРЕЖДЕНИЕ: глубина = 0, невозможно получить CRL сертификата

У меня двухуровневый ЦС с обоими уровнями, публикующими списки отзыва сертификатов, и доступным объединенным списком отзыва сертификатов. на маршрутизаторе и OpenVPN, используя его.

Я не понимаю, почему OpenVPN пытается получить CRL на глубине 0, который является сертификатом клиента. Это не Я жалуюсь на глубины 1 и 2, что означает, что мой файл CRL в порядке ...

2
задан 3 October 2018 в 17:16
1 ответ

Похоже, что более поздние версии OpenVPN не понимают несколько закодированных PEM CRL в одном файле.

Если вы отредактируете свой CRL-файл так, чтобы он содержал только CRL выдавшего клиентский сертификат CA, вы увидите, что вы не получите ошибок для depth = 0 , а вместо этого получите ошибку для depth = 1 .Вероятно, вы получите те же результаты, если поменяете порядок списков отзыва сертификатов в текущем файле.

Чтобы решить эту проблему в более поздних версиях OpenVPN, вы должны использовать - capath :

- -capath dir

Каталог, содержащий доверенные сертификаты (CA и CRL). Недоступно с mbed TLS.

Поместите все ваши сертификаты CA и CRL, сгенерированные вашими CA, в каталог, на который указывает параметр - capath . Не забудьте удалить опцию - ca .

Запустите c_rehash <путь к сертификатам и CRL> , чтобы сгенерировать хэш сертификатов и их списков отзыва сертификатов.

Перезапустите OpenVPN и вы должны обнаружить, что в ваших журналах нет предупреждений CRL.

Примечание: Вы никогда не должны получать предупреждение CRL для depth = 2 (ваш корневой ЦС), поскольку это будет самозаверяющий сертификат. и CRL для одного из них бессмысленен, потому что он будет подписан сам по себе. Но кажется, что если вы опустите CRL корневого CA, он покажет предупреждение проверки для себя ( depth = 2 ), а также выданный им сертификат (промежуточный CA на depth = 1 ]). Он должен показывать предупреждение только для последнего.

0
ответ дан 3 December 2019 в 13:54

Теги

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