2 つのキュー・マネージャーの相互認証への CA 署名証明書の使用

CA 署名 TLS 証明書を使用して 2 つのキュー・マネージャーの間で相互認証を実装するための手順の例を取り上げます。

本タスクについて

シナリオ

  • 安全に通信する必要のあるキュー・マネージャーが 2 つあります (QM1 と QM2)。 QM1 と QM2 の間で、相互認証を実行する必要があります。
  • 将来的にはこのネットワークを実稼働環境で使用することを計画しているので、最初から CA 署名証明書を使用することにしました。
構成の結果は次のようになります。
図1: このタスクで実装する構成
キュー・マネージャー QM1 および QM2 は、チャネル TO.QM2。 各キュー・マネージャーには、以下の本文で説明するキー・リポジトリーがあります。

図 1では、 QM1 の鍵リポジトリーに QM1の証明書と CA 証明書が含まれています。 QM2 の鍵リポジトリーには、 QM2の証明書と CA 証明書を格納します。

この例では、QM1 の証明書と QM2 の証明書の両方が同じ CA から発行されました。 QM1 の証明書と QM2 の証明書が別々の CA から発行された場合は、QM1 と QM2 の鍵リポジトリーには両方の CA 証明書が含まれている必要があります。

手順

  1. 社内で使用しているオペレーティング・システムに合わせて、各キュー・マネージャーで鍵リポジトリーを準備します。
  2. キュー・マネージャーごとに CA 署名証明書を要求します。
    2 つのキュー・マネージャーで異なる CA を使用することができます。
  3. キュー・マネージャーごとに認証局証明書を鍵リポジトリーに追加します。
    これらのキュー・マネージャーがそれぞれ異なる認証局を使用する場合は、各認証局の CA 証明書を両方の鍵リポジトリーに追加する必要があります。
  4. キュー・マネージャーごとに CA 署名証明書を鍵リポジトリーに取り込みます。
  5. QM1 で以下の例のようなコマンドを実行して、送信側チャネルとそれに関連する伝送キューを定義します。
    DEFINE CHANNEL(TO.QM2) CHLTYPE(SDR) TRPTYPE(TCP) 
    CONNAME(QM2.MACH.COM) XMITQ(QM2) SSLCIPH(TLS_RSA_WITH_AES_128_CBC_SHA256) 
    DESCR('Sender channel using TLS from QM1 to QM2')
    
    DEFINE QLOCAL(QM2) USAGE(XMITQ)
    
    この例では、CipherSpec TLS_RSA_WITH_AES_128_CBC_SHA256 を使用します。 チャネルの両端の CipherSpec は同じでなければなりません。
  6. QM2 で以下の例のようなコマンドを実行して、受信側チャネルを定義します。
    DEFINE CHANNEL(TO.QM2) CHLTYPE(RCVR) TRPTYPE(TCP) 
    SSLCIPH(TLS_RSA_WITH_AES_128_CBC_SHA256) SSLCAUTH(REQUIRED) 
    DESCR('Receiver channel using TLS to QM2')
    
    このチャネルは、ステップ 5で定義した送信側チャネルと同じ名前でなければならず、同じ CipherSpecを使用する必要があります。
  7. チャネルを開始します。

結果

図 1に示すように、鍵リポジトリーとチャネルが作成されます。

次のタスク

DISPLAY コマンドを使用して、タスクが正常に完了していることを確認します。 タスクが正常に完了していれば、以下の例のような出力が表示されます。

キュー・マネージャー QM1 から以下のコマンドを入力します。
DISPLAY CHS(TO.QM2) SSLPEER SSLCERTI
結果の出力は、以下の例のようになります。
DISPLAY CHSTATUS(TO.QM2) SSLPEER SSLCERTI
     4 : DISPLAY CHSTATUS(TO.QM2) SSLPEER SSLCERTI
AMQ8417: Display Channel Status details.
   CHANNEL(TO.QM2)                         CHLTYPE(SDR)
   CONNAME(192.0.0.2)                      CURRENT
   RQMNAME(QM2)
   SSLCERTI("CN=<Division> CA,OU=<Department>,O=<Organization>,ST=<State>,C=<Country>")
   SSLPEER("SERIALNUMBER=4C:D0:49:D5:02:5F:38,CN=QM2,OU=<Department>,O=<Organization>,ST=<State>,C=<Country>")
   STATUS(RUNNING)                         SUBSTATE(MQGET)
   XMITQ(QM2)
キュー・マネージャー QM2 から以下のコマンドを入力します。
DISPLAY CHS(TO.QM2) SSLPEER SSLCERTI
結果の出力は、以下の例のようになります。
DISPLAY CHSTATUS(TO.QM2) SSLPEER SSLCERTI
     5 : DISPLAY CHSTATUS(TO.QM2) SSLPEER SSLCERTI
AMQ8417: Display Channel Status details.
   CHANNEL(TO.QM2)                         CHLTYPE(RCVR)
   CONNAME(192.0.0.1)                      CURRENT
   RQMNAME(QM1)
   SSLCERTI("CN=<Division> CA,OU=<Department>,O=<Organization>,ST=<State>,C=<Country>")
   SSLPEER("SERIALNUMBER=4C:D0:49:D5:02:5F:38,CN=QM1,OU=<Department>,O=<Organization>,ST=<State>,C=<Country>")
   STATUS(RUNNING)                         SUBSTATE(RECEIVE)
   XMITQ( )

いずれの場合も、SSLPEER の値は、ステップ 2で作成したパートナー証明書の識別名 (DN) の値と一致している必要があります。 発行者名は、ステップ 4で追加した個人証明書に署名した CA 証明書のサブジェクト DN と一致します。