我一直在试图find在RabbitMQ中configurationCRL检查的可用选项。 RabbitMQ似乎依赖于Erlang的SSL库。 不幸的是,对Erlang几乎一无所知,所以我很难理解:
crl_cacheconfiguration选项的例子很难find。 有没有人有关于此的进一步的信息?
从RabbitMQ TLS支持页面的configuration示例开始,添加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,如果缺less任何CRL,validation将失败。 您可以将其设置为peer或best_effort ; 有关详细信息,请参阅Erlang的ssl模块文档 。
在上面的示例中,我激活了通过HTTP下载CRL,超时时间为5秒(5000毫秒)。 该URL取自证书中的cRLDistributionPoints扩展。
目前还没有可用的基于本地文件的CRL方法,但是我已经提交了一个pull请求 ,让您可以像Apache一样从本地目录获取CRL。