如上所述,預設會將 Message Queue 訊息代理程式配置為使用預先配置之 JMX 連接器 jmxrmi,進行不安全的通訊。應用程式若要使用安全傳輸層 (SSL) 進行安全通訊,則必須啟動另一個安全的 JMX 連接器 ssljmxrmi。此項作業需要下列步驟:
如「Message Queue Administration Guide」中所述,使用與 ssljms、ssladmin 或 cluster 連線服務相同的方式取得並安裝簽署的憑證。
視需要在信任清單存放區中安裝根憑證授權單位的憑證。
將 ssljmxrmi 連接器增加至要在代理程式啟動時啟動的 JMX 連接器清單:
imq.jmx.connector.activelist=jmxrmi,ssljmxrmi
使用 Message Queue 代理程式公用程式 (imqbrokerd) 啟動代理程式,然後傳遞密碼檔案中的金鑰庫密碼,或在提示時從指令行輸入。
根據預設,ssljmxrmi 連接器 (或任何其他基於 SSL 的連接器) 會配置為驗證所有提供給它的代理程式 SSL 憑證。若要避免此驗證 (例如,在軟體測試期間使用自我簽署的憑證時),請將代理程式特性 imq.jmx.connector.ssljmxrmi.brokerHostTrusted 設定為 true。
配置用戶端的管理員連線工廠 (AdminConnectionFactory) 時,內含的 URL 必須指定 ssljmxrmi 為喜好的連接器:
AdminConnectionFactory acf = new AdminConnectionFactory(); acf.setProperty(AdminConnectionConfiguration.imqAddress, "mq://myhost:7676/ssljmxrmi");
請視需要使用系統特性 javax.net.ssl.trustStore 和 javax.net.ssl.trustStorePassword,將 JMX 用戶端指向信任清單存放區。