RabbitMQ CRL 配置

RabbitMQ CRL 配置

我一直在尝试寻找在 RabbitMQ 中配置 CRL 检查的可用选项。而 RabbitMQ 似乎又依赖于 Erlang 的 SSL 库。不幸的是,我对 Erlang 知之甚少,因此很难理解:

  • 基于 HTTP 超时的 CRL 方法的确切语法(以及是否从证书的 CRL 信息中自动提取)
  • 如果可以使用基于本地文件的 CRL 方法

crl_cache 配置选项的示例很难找到。有人对此有进一步的信息吗?

答案1

从配置示例开始RabbitMQ TLS 支持页面,添加crl_checkcrl_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_checktrue意味着将检查整个证书链的 CRL,如果缺少任何 CRL,验证将失败。您可以将其设置为peerbest_effort;请参阅Erlangssl模块文档了解详情。

在上面的示例中,我激活了通过 HTTP 下载 CRL,超时时间为 5 秒(5000 毫秒)。URL 取自cRLDistributionPoints证书中的扩展。


目前还没有现成的基于本地文件的 CRL 方法,但我已经提交了拉取请求它允许您以与 Apache 相同的方式从本地目录获取 CRL。

相关内容