【问题标题】:Does an AMQPNetLite client connecting to ActiveMQ Artemis via AMQPS require the client to store client certificates?通过 AMQPS 连接到 ActiveMQ Artemis 的 AMQPNetLite 客户端是否需要客户端存储客户端证书?
【发布时间】:2019-06-27 20:08:11
【问题描述】:

我有一个需要连接到 AWS 上的 ActiveMQ Artemis 实例的 .NET 客户端。我能够通过 AMQP 连接到它们,而无需在 AWS 实例前面的负载均衡器上启用 SSL/TLS。但是我需要通过 AMQPS 启用 SSL/TSL 连接,我的研究表明,除了 Artemis 服务器上的证书(这是为 SSL/TLS 连接提供的证书)之外,我还需要在我的客户端上创建和存储证书。

这是链接 - http://activemq.apache.org/how-do-i-use-ssl.html

我正在尝试了解是否有办法在客户端安装和管理证书,因为这会带来维护麻烦。在服务器上,我打算使用 AWS Certificate Manage 来处理证书管理,但在客户端这会很不方便。对此的任何意见将不胜感激。

【问题讨论】:

  • 我的回答是否解决了您的问题?如果是这样,请将其标记为正确,以帮助将来可能有同样问题的其他人。如果不是,请详细说明原因。谢谢!

标签: .net ssl activemq-artemis


【解决方案1】:

如果您的服务器端证书是由您的 JVM 信任的授权机构签署的,那么您不需要将证书导入您的客户端信任库。如果您使用的是自签名证书或由不受信任的机构签名的证书,那么您的客户端需要其信任库中的服务器证书。

各种支持平台(例如 Windows、Linux、AIX 等)存储的每个 JVM 版本(例如 8、9、10、11)和实现(例如 Oracle、OpenJDK 和 IBM)都可能存储它们的“ cacerts" 文件(即包含所有受信任的证书颁发机构的文件)在各个地方,所以我不能确切地说您需要在哪里查看以确定您的 JVM 信任哪些特定颁发机构,但您应该能够在您的JVM 文档。

【讨论】:

  • 感谢贾斯汀的回复。我不是 Java 背景,我不确定如何检查 JVM 安装在 AWS 上我的 Linux EC2 实例上的证书。您是否有任何示例或链接可以帮助我进行调查。我所有的搜索都让我找到了建议我需要客户端证书的文章。来自你自己的一个 - github.com/apache/activemq-artemis/tree/master/examples/…。感谢您抽出宝贵时间回答我的问题!
  • 您的证书是否由公共机构(例如 Comodo、Symantec、GeoTrust 等)签署?如果是这样,那么您正在使用的 JVM 可能会隐式信任它。要找出您的 JVM 信任的所有权限,您首先必须弄清楚您正在使用什么 JVM,然后查阅该 JVM 的文档。我不能给你具体的链接,但任何体面的搜索引擎都应该能够提供帮助。
  • 您从 ActiveMQ Artemis GitHub 链接的示例专门使用自签名证书。您是否使用自签名证书?如果是这样,您需要在客户端上导入它们。我在上面的回答中概述了这一事实。
猜你喜欢
  • 1970-01-01
  • 2016-03-13
  • 2013-09-03
  • 2010-09-17
  • 2020-08-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多