Sun Java System Message Queue 4.1 发行说明

针对 JMX 客户端的 SSL 支持

如上所述,默认情况下将使用预配置的 JMX 连接器 jmxrmi 来配置 Message Queue 消息代理,从而进行不安全的通信。需要使用安全套接字层 (Secure Socket Layer, SSL) 进行安全通信的应用程序,必须激活备用的安全 JMX 连接器 ssljmxrmi。这需要执行以下步骤:

  1. 获取和安装签名证书,方法与为 ssljmsssladmincluster 连接服务获取和安装签名证书(如 Message Queue 管理指南 中所述)相同。

  2. 在信任存储库中安装根证书颁发机构颁发的证书(如有必要)。

  3. ssljmxrmi 连接器添加到代理启动时要激活的 JMX 连接器列表:

    imq.jmx.connector.activelist=jmxrmi,ssljmxrmi

  4. 使用 Message Queue 代理实用程序 ( imqbrokerd) 启动代理,可以将密码文件中的密钥库密码传递给此实用程序,也可以在提示时从命令行键入密码。

  5. 默认情况下,ssljmxrmi 连接器(或基于 SSL 的任何其他连接器)被配置为验证提供给它的所有代理 SSL 证书。要避免进行此验证(例如,在使用自签名证书进行软件测试时),请将代理属性 imq.jmx.connector.ssljmxrmi.brokerHostTrusted 设置为 true

在客户端,必须使用将 ssljmxrmi 指定为首选连接器的 URL 配置管理员连接工厂 (AdminConnectionFactory ) :

AdminConnectionFactory  acf = new AdminConnectionFactory();
acf.setProperty(AdminConnectionConfiguration.imqAddress, "mq://myhost:7676/ssljmxrmi");

如果需要,可使用系统属性 javax.net.ssl.trustStorejavax.net.ssl.trustStorePassword 将 JMX 客户端指向信任存储库。