RabbitMQ - 证书认证

时间:2016-03-17 16:53:39

标签: c# authentication rabbitmq ssl-certificate

我在.Net上编写了一个客户端/服务器应用程序,使用用户名/密码/服务器对RabbitMQ进行身份验证。

我们的安全团队建议将其更改为证书身份验证。我搜索过RabbitMQ网站和论坛,但找不到解决方案。

如何在.Net客户端和服务器组件(和/或计算机)中安装,配置证书以进行身份​​验证?在此方案中创建连接所需的参数是什么?任何人都可以指向合适的示例资源,如果有的话?感谢

1 个答案:

答案 0 :(得分:3)

在经纪人一侧

RabbitMQ服务器提供了一个名为rabbitmq-auth-mechanism-ssl 的插件,允许您根据客户端证书对用户进行身份验证。我认为代理已经配置为接受TLS连接。如果情况并非如此,您应该关注RabbitMQ网站上的documentation about TLS

要配置插件,必须遵循两个步骤:

  1. 您需要启用插件:

    rabbitmq-plugins enable rabbitmq_auth_mechanism_ssl
    
  2. 您需要将新的身份验证方法添加到代理程序配置文件中的接受方法(例如,通常在Unix上为/etc/rabbitmq/rabbitmq.conf)。有关示例,请参阅rabbitmq-auth-mechanism-ssl'sREADME.md`

  3. 完成此操作后,您需要重新启动代理以使新配置处于活动状态。

    在客户端

    上面提到的关于TLS的文档给出了几个客户端库的示例,包括.NET库。您将找到源代码和命令。