これまでに説明したように、Message Queue のメッセージブローカは、デフォルトでは、事前に設定済みの JMX コネクタ jmxrmi を使用して、セキュリティー保護されていない通信用に設定されています。通信のセキュリティー保護のために SSL (Secure Socket Layer) を使用する必要のあるアプリケーションでは、代わりにセキュリティー保護された JMX コネクタである ssljmxrmi をアクティブにする必要があります。このためには次の手順を実行する必要があります。
『Message Queue 管理ガイド』に示されている ssljms、ssladmin、または cluster 接続サービスと同じ方法で、署名済みの証明書を取得およびインストールします。
必要に応じて、ルート CA 証明書をトラストストア内にインストールします。
ブローカの起動時にアクティブになるように、JMX コネクタのリストに ssljmxrmi コネクタを追加します。
imq.jmx.connector.activelist=jmxrmi,ssljmxrmi
Message Queue ブローカユーティリティー (imqbrokerd) をパスワードファイル内のキーストアパスワードに渡すか、プロンプト表示されるコマンド行から入力して、ブローカを起動します。
デフォルトでは、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.trustStore および javax.net.ssl.trustStorePassword を使用して、JMX クライアントをトラストストアにポイントします。