Configuração de CRL do RabbitMQ

1

Estou tentando encontrar opções disponíveis para configurar a verificação de CRL no RabbitMQ. O RabbitMQ, por sua vez, parece confiar na biblioteca SSL da Erlang. Infelizmente, sabendo muito pouco sobre Erlang, tem sido difícil para mim entender:

  • A sintaxe exata de uma abordagem de CRL baseada em tempo limite de HTTP (e se essa for automaticamente extraída das informações da CRL do certificado)
  • Se uma abordagem de CRL baseada em arquivo local estiver disponível imediatamente

Exemplos da opção de configuração crl_cache têm sido difíceis de encontrar. Alguém tem mais informações sobre isso?

    
por J Trana 27.01.2016 / 22:58

1 resposta

1

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.

    
por 12.04.2016 / 12:18