gpt4 book ai didi

.net - 使用自签名证书的 RabbitMQ 相互身份验证

转载 作者:行者123 更新时间:2023-12-04 22:38:05 28 4
gpt4 key购买 nike

我虔诚地按照 RabbitMQ 站点上的说明设置 RabbitMQ 服务器和 .Net 客户端之间的相互身份验证(使用 RabbitMQ.com 上提供的官方 RabbitMQ 客户端)

https://www.rabbitmq.com/ssl.html

但是,这些说明缺少一个关键点。对于要在 RabbitMQ 服务器中验证的对等证书,需要将用户映射(用于模拟)到对等证书,如下所述

https://weblogs.asp.net/jeffreyabecker/Using-SSL-client-certificates-for-authentication-with-RabbitMQ

但是,当在握手期间交换证书时,RabbitMQ 服务器正在寻找一个名为 的用户名。 'O=client,CN=MyServer.com' 而不是'CN = MyServer.com'

如果我创建具有所需权限的用户,一切都会按预期成功。

我想知道用户名中出现意外的“O=client”部分的原因是什么。 RabbitMQ 站点中的任何地方都没有记录它。

有没有人遇到过这个?
您为模拟对等/客户端创建的用户的名称是什么?

RabbitMQ 服务器和客户端版本都是 3.6.5

二郎版本:18

操作系统:Windows 10 企业版

最佳答案

我最近一直在看这个,它可以通过提供如下额外配置在 docker 中启动时进行配置

[
{rabbit, [
{auth_mechanisms, ['EXTERNAL']},
{loopback_users, []},
{ssl_listeners, [5671]},
{ssl_options, [{cacertfile, "etc/docker/certs.d/ca_certificate.pem"},
{certfile, "etc/docker/certs.d/server_certificate.pem"},
{keyfile, "etc/docker/certs.d/private_key.pem"},
{verify, verify_peer},
{password, ""},
{fail_if_no_peer_cert, false}],
{ssl_cert_login_from, common_name}}
]}
].

这里的关键是 ssl_cert_login_from选项允许您仅使用证书的 CN

删除此选项将启用 DN

关于.net - 使用自签名证书的 RabbitMQ 相互身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40641291/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com