A partir do exemplo de configuração da página de suporte do RabbitMQ TLS , adicione as opções crl_check e crl_cache como isso:
[
{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}]}}}
]}
].
A definição de crl_check para true significa que as CRLs serão verificadas em toda a cadeia de certificados e, se houver alguma falta de CRL, a validação falhará. Você poderia defini-lo como peer ou best_effort ; veja a documentação do módulo Erlang ssl para detalhes.
Na amostra acima, ativei o download de CRLs por HTTP, com um tempo limite de 5 segundos (5000 milissegundos). O URL é retirado da extensão cRLDistributionPoints no certificado.
No momento, não há nenhuma abordagem de CRL baseada em arquivo local disponível, mas enviei uma solicitação de solicitação que permite obter CRLs de um diretório local da mesma maneira que o Apache faz.