【问题标题】:Generic JMS Client with SSL connection capability具有 SSL 连接能力的通用 JMS 客户端
【发布时间】:2015-01-16 16:14:05
【问题描述】:

目前,我使用标准 JMS API(仅javax.jms.* 类)实现了一个非 SSL 安全客户端。当提供特定的产品 JAR 和适当的类名时,它能够连接到任何 JMS 服务器。

有没有办法实现这种具有 SSL 连接功能的通用(独立于供应商)JMS 客户端?

我的研究没有成功 - 我发现了几个使用 SSL 实现 JMS 的示例(例如 Novell JMSActiveMQ),但它们都没有避免在代码中直接使用供应商特定的类,并且实现差异很大。

【问题讨论】:

    标签: java jakarta-ee ssl jms


    【解决方案1】:

    使用 SSL 不需要在客户端更改任何代码。添加 SSL 功能只是配置问题。

    一般来说,有一些不同之处:

    1. 连接 URL,以便客户端通过 SSL 协议连接到正确的端口(@98​​7654321@ 而不是 tcp://broker_url)。
    2. 连接工厂类 - 可能与非 SSL 不同。
    3. 要使用的 Keystore 和/或 truststore。可以使用特定方法以编程方式设置这些文件的路径——但这种方法需要实现供应商特定的代码。更好的选择是传递 KS/TS java 系统属性。 (使用-D JVM 选项,即使没有任何准备也可以完成。)

    由于第 2 点和第 3 点因 JMS 代理而异,请参阅供应商的文档以了解更多详细信息。


    此答案基于成功连接到 Apache ActiveMQ 和 Tibco EMS 的经验,包括相互证书身份验证。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-15
      • 1970-01-01
      • 2010-09-17
      • 2013-02-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-22
      相关资源
      最近更新 更多