连接错误 QPID 和 AmqNetLite 的 SASL 错误



我不熟悉AMQP。我尝试将AmqpNetLite程序连接到Qpid服务器,但出现以下异常:Amqp.AmqpException: sasl-mechanism(sasl-server-mechanism:[CRAM-MD5,SCRAM-SHA-1,SCRAM-SHA-256])

注意:我可以连接到基本的AMQP服务器,但不能连接到QPID。

以下是创建连接的代码:

请告诉从哪里开始解决我的问题。

void Main(string[] args)
{     
    try
    {
    Address address = new Address("amqp://guest:guest@localhost:5672");
    Connection connection = new Connection(address);
    Session session = new Session(connection);
    ReceiverLink receiver = new ReceiverLink(session, "receiver-link", "queue");
    Message message = receiver.Receive();
    receiver.Accept(message);
    receiver.Close();
    session.Close();
    connection.Close();
    }
    catch (Exception ex)
    {
       Console.WriteLine(ex.ToString());
    }
    Console.ReadLine();
}

该错误似乎表示代理无法为客户端提供它支持的 SASL 机制。 我认为AmqpNetLite只做匿名,普通和外部,但也许已经改变了。 您可以查看代理配置,并使其中一种机制可供客户端使用,这可能会允许匹配和成功的身份验证。 或者,您可以使用SSL连接,然后允许这些SASL机制工作,并为您的连接提供一些额外的安全性。

Broker-J 文档站点的安全部分应该为您阐明这一点。

相关内容

最新更新