【问题标题】:How to connect to ActiveMQ over SSL from Apache.NMS C# client library如何从 Apache.NMS C# 客户端库通过 SSL 连接到 ActiveMQ
【发布时间】:2021-01-28 19:42:33
【问题描述】:

我有一个服务器,我们在其中安装了 ActiveMQ,并且还为 SSL 生成了必要的证书。

我已将代理证书添加到本地计算机的密钥库,然后尝试通过 SSL 连接 ActiveMQ,但收到如下错误:not able to connect using ipaddress:61617

使用 TCP 一切正常,但问题是当我尝试通过 SSL 连接时。

这里是连接ActiveMQ的代码sn-p。

IConnectionFactory factory = new NMSConnectionFactory(AMQURL);
IConnection AMQConnection = factory.CreateConnection();
AMQConnection.ClientId = ClientId;
AMQConnection.Start();
ISession AMQSession = AMQConnection.CreateSession();

我指的是 this documentation 设置 SSL。

这是我尝试连接的 Active MQ 端点。 activemq:ssl://server-ip-address:61617

我使用的是 Apache.NMS.ActiveMQ 版本 1.7.2

我在 activemq.xml 文件的 trasportconnectors 部分添加了以下行。

【问题讨论】:

  • @JustinBertram 这是我尝试连接的 Active MQ 端点。 activemq:ssl://server-ip-address:61617 我使用的是 Apache.NMS.ActiveMQ 版本 1.7.2
  • 您在代理上使用的transportConnector 配置怎么样?
  • @JustinBertram 是的,我在 activemq.xml 文件的 trasportconnectors 部分添加了以下行
  • @JustinBertram 我在 activemq.xml 文件的 trasportconnectors 部分添加了以下行。
  • 您的客户端是否与您的代理在同一台服务器上运行?如果没有,那么使用localhost 来代替transportConnector 将无法正常工作,因为远程客户端将无法访问它。

标签: c# ssl activemq apache-nms


【解决方案1】:

为了连接到代理,您的客户端需要配置有关它应该信任的 SSL 证书的信息,如果使用相互身份验证,您需要提供客户端密钥。

有一篇文章详细介绍了这个过程here

另外,我相信有一种方法可以将密钥和信任存储数据存储在 Windows 注册表和/或本地机器存储中,一些文档 here

【讨论】:

    猜你喜欢
    • 2010-09-17
    • 2011-03-04
    • 2010-10-17
    • 2015-01-09
    • 2011-02-09
    • 2019-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多