Я пытался найти доступные варианты настройки проверки CRL в RabbitMQ. RabbitMQ, в свою очередь, полагается на библиотеку SSL Erlang. К сожалению, я очень мало знал об Erlang, поэтому мне было трудно понять:
Примеры опции конфигурации crl_cache было трудно найти. У кого-нибудь есть дополнительная информация по этому поводу?
Начиная с примера конфигурации из Страница поддержки RabbitMQ TLS, добавить crl_check
и crl_cache
такие варианты:
[
{rabbit, [
{ssl_listeners, [5671]},
{ssl_options, [{cacertfile,"/path/to/testca/cacert.pem"},
{certfile,"/path/to/server/cert.pem"},
{keyfile,"/path/to/server/key.pem"},
{verify,verify_peer},
{fail_if_no_peer_cert,false}]},
{crl_check, true},
{crl_cache, {ssl_crl_cache, {internal, [{http, 5000}]}}}
]}
].
Настройка crl_check
к true
означает, что CRL будут проверяться для всей цепочки сертификатов, и если какой-либо CRL отсутствует, проверка не удастся. Вы можете установить его на peer
или best_effort
вместо; видеть Эрланг ssl
документация модуля для подробностей.
В приведенном выше примере я активировал загрузку списков отзыва сертификатов по HTTP с тайм-аутом 5 секунд (5000 миллисекунд). URL взят из cRLDistributionPoints
расширение в сертификате.
В настоящее время нет стандартного подхода к CRL на основе локальных файлов, но я отправил запрос на перенос это позволяет вам получать списки отзыва сертификатов из локального каталога так же, как это делает Apache.