是否可以对rabbitmq管理插件使用基于证书的身份验证?

是否可以对rabbitmq管理插件使用基于证书的身份验证?,rabbitmq,rabbitmq-management,Rabbitmq,Rabbitmq Management,我们使用rabbitmq管理restapi对rabbitmq的实体(队列/交换)执行不同的操作。通过登录/密码进行的标准身份验证工作正常,但出于某些原因,我们希望使用无密码身份验证(基于ssl证书)。根据文件()看来有这种可能性 但是如果我们尝试配置插件: advanced.config {rabbitmq_management, [{listener, [{port, 15671}, {ssl, true}, {

我们使用
rabbitmq管理
restapi对
rabbitmq
的实体(队列/交换)执行不同的操作。通过登录/密码进行的标准身份验证工作正常,但出于某些原因,我们希望使用无密码身份验证(基于ssl证书)。根据文件()看来有这种可能性

但是如果我们尝试配置插件:

advanced.config

{rabbitmq_management,
  [{listener, [{port,     15671},
               {ssl,      true},
               {ssl_opts, [{cacertfile, "c:/Services/certs/cacert.pem"},
                           {certfile,   "c:/Services/certs/cert.pem"},
                           {keyfile,    "c:/Services/certs/key.pem"}]}
              ]}
  ]
}
我们客户的.NET应用程序

public Foo(string url, X509Certificate clientCert)
{
    var handler = new HttpClientHandler();
    handler.ClientCertificates.Add(clientCert);

    _httpClient = new HttpClient(handler);

    var result = await _httpClient.GetAsync(uri)
 }
我们将获得以下内容(Fiddler会话):

  • |已建立到| HTTP/1.1 200连接的隧道(发现与SSLv3兼容的ClientHello握手)
  • |主机名| HTTP/1.1 401未经授权

  • 是否可以对
    rabbitmq管理
    插件使用基于证书的身份验证?如果是,有人能给我们一些样本或文档链接吗?

    我最近在
    rabbitmq用户
    邮件列表中回答了这个问题:

    简单的回答是,您可以将服务器配置为需要客户端证书,并验证它是否由受信任的根证书签名,但您仍然需要提供用户名和密码-用户不会从证书中提取


    注意:RabbitMQ团队监视并仅有时回答有关StackOverflow的问题