Rabbitmq
RabbitMQ CRL 配置
我一直在嘗試尋找在 RabbitMQ 中配置 CRL 檢查的可用選項。RabbitMQ 反過來似乎依賴於 Erlang 的 SSL 庫。不幸的是,我對 Erlang 知之甚少,所以我一直很難理解:
- 基於 HTTP 超時的 CRL 方法的確切語法(如果這是從證書的 CRL 資訊中自動提取的)
- 如果有現成可用的基於本地文件的 CRL 方法
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
改為;有關詳細資訊,請參閱Erlangssl
模組文件。在上面的範例中,我通過 HTTP 啟動了 CRL 下載,超時時間為 5 秒(5000 毫秒)。URL 取自
cRLDistributionPoints
證書中的副檔名。目前沒有現成可用的基於本地文件的 CRL 方法,但我送出了一個拉取請求,讓您可以像 Apache 一樣從本地目錄獲取 CRL。