[使用rabbitmq_auth_backend_ldap时,如果我们使用ssl,则有必要提及SSL选项以确保我们使用正确的选项与正确的服务器通信,例如:
{ssl_options, [ {server_name_indication, "abc.com"},
{verify, verify_peer},
{depth, 5}]},
[请注意,我不希望对Ldap服务器进行客户端证书身份验证,而只是想验证我是否实际上在与正确的服务器通信,除非我从证书中验证了SN或类似证书,否则无法保证。浏览器有点自动执行此操作,但是RabbitMQ如何执行此操作。
如果服务器提供的SSL证书是由受信任的根(例如GoDaddy等)签名的,我仍然应该提及我信任的证书。
我从证书中验证了SN或类似名称。浏览器的一种自动执行,但是RabbitMQ如何做到这一点。
这里是您问题的答案。
每个启用TLS的工具和TLS实施,包括Erlang / OTP和RabbitMQ,都有一种将一组证书标记为受信任的方法。在Linux和其他类似UNIX的系统上,该目录通常是由超级用户管理的目录。该目录中的CA证书将被视为受信任的,由它们颁发的证书(例如由客户端提供的证书)也将被视为受信任的证书。受信任证书目录的位置将在发行版,操作系统和发行版之间有所不同。
更多信息here
如果您想拥有自己的自定义信任库。您可以考虑以下内容。
https://rabbitmq.docs.pivotal.io/37/rabbit-web-docs/ssl.html#keys-and-certshttps://github.com/rabbitmq/rabbitmq-trust-store