鍵ストアおよびトラストストアのセットアップ

サンプルには、server.keystore および client.keystore という 2 つの鍵ストアが含まれています。これらの鍵ストアは、AddressBook プロジェクトと共にインポートされます。鍵ストアは、インポートされた場所にそのまま置いておくことも、より便利な場所にエクスポートすることもできます。 これらの鍵ストアを使用するようにブローカーを構成する必要があります。 プロバイダーとコンシューマーは異なる実行グループにデプロイされるので、実行グループごとに異なる鍵ストアとトラストストアを設定できます。 これらの鍵ストアの内容を表示すると、WS-Security をセットアップするために必要な 2 つのバインディングを理解するのに役立ちます。 内容を表示するには、鍵ストアを含むディレクトリーで以下のコマンドを発行してください。

keytool -list -keystore server.keystore -storepass server -v
keytool -list -keystore client.keystore -storepass client -v

鍵ストアには、keyEntrys および trustedCertificateEntries の、2 種類の項目を入れることができます。 鍵ストアがトラステッド証明書を入れるために使用される場合、それは通常トラストストアと呼ばれます。 ブローカーは、実行グループごとに鍵ストアおよびトラストストアを参照できます。

このサンプルでは、鍵ストアおよびトラストストアの両方に同じ鍵ストアを使用します。

  1. ブローカーが使用できるトラストストアおよび鍵ストアを見つけるには、以下のコマンドを発行してください。

    mqsireportproperties IB9NODE -o ComIbmJVMManager -a -e AddressSampleProvider
    mqsireportproperties IB9NODE -o ComIbmJVMManager -a -e AddressSampleConsumer

    鍵ストアおよびトラストストアに関連したいずれかの値を設定していなければ、プロパティーはブランクになります。 実行グループごとに鍵ストアとトラストストアをセットアップするには、keystoreType、keyStoreFile、keystorePass、truststoreType、truststoreFile、および truststorePass という 6 つの値を設定します。

  2. プロバイダーの鍵ストアおよびトラストストアをセットアップするには、以下のコマンドを使用して、鍵ストアの場所を (server.keystore および client.keystore だけではなく) 完全修飾の場所に変更します。鍵ストアをワークスペースから C:¥keystores などのロケーションにエクスポートすると役立つ場合があります。

    mqsichangeproperties IB9NODE -e AddressSampleProvider -o ComIbmJVMManager -n keystoreFile -v [Location of server keystore]
    
    mqsichangeproperties IB9NODE -e AddressSampleProvider -o ComIbmJVMManager -n keystoreType -v JKS
    
    mqsichangeproperties IB9NODE -e AddressSampleProvider -o ComIbmJVMManager -n keystorePass -v addressBookProvider::password
    
    mqsichangeproperties IB9NODE -e AddressSampleProvider -o ComIbmJVMManager -n truststoreFile -v [Location of server keystore]
    
    mqsichangeproperties IB9NODE -e AddressSampleProvider -o ComIbmJVMManager -n truststoreType -v JKS
    
    mqsichangeproperties IB9NODE -e AddressSampleProvider -o ComIbmJVMManager -n truststorePass -v addressBookProvider::password
    

    以下のコマンドを使用して、コンシューマーの鍵ストアおよびトラストストアをセットアップします。

    mqsichangeproperties IB9NODE -e AddressSampleConsumer -o ComIbmJVMManager -n keystoreFile -v [Location of client keystore]
    
    mqsichangeproperties IB9NODE -e AddressSampleConsumer -o ComIbmJVMManager -n keystoreType -v JKS
    
    mqsichangeproperties IB9NODE -e AddressSampleConsumer -o ComIbmJVMManager -n keystorePass -v addressBookConsumer::password
    
    mqsichangeproperties IB9NODE -e AddressSampleConsumer -o ComIbmJVMManager -n truststoreFile -v [Location of client keystore]
    
    mqsichangeproperties IB9NODE -e AddressSampleConsumer -o ComIbmJVMManager -n truststoreType -v JKS
    
    mqsichangeproperties IB9NODE -e AddressSampleConsumer -o ComIbmJVMManager -n truststorePass -v addressBookConsumer::password
    
  3. 鍵ストアには、通常パスワードがあります。 server.keystore のパスワードは "server" で、client.keystore のパスワードは "client" です。 前述のコマンドは、パスワードが保管されている場所への参照をセットアップします。 同じ鍵ストアが鍵ストアおよびトラストストアに対して使用されるので、2 つの参照だけが必要となります。 1 つはコンシューマー用の鍵ストアで、1 つはプロバイダー用の鍵ストアです。 以下のコマンドを使用して、ブローカーを構成します。

    mqsistop IB9NODE

    次のようにパスワードを設定します。

    mqsisetdbparms IB9NODE -n addressBookProvider::password -u temp -p server
    
    mqsisetdbparms IB9NODE -n addressBookConsumer::password -u temp -p client

    -u (ユーザー) オプションは使用されません。 ブローカーを再始動します。

    mqsistart IB9NODE
  4. これで、ブローカーは鍵ストアにアクセスできます。 上記のコマンドが正しく実行されたこと検証するために、2 つの実行グループのプロパティーを再び報告できます。 その出力は、以下の出力のようになります。

    プロバイダーでは:

    ComIbmJVMManager
      uuid='ComIbmJVMManager'
      userTraceLevel='none'
      traceLevel='none'
      userTraceFilter='none'
      traceFilter='none'
      jvmVerboseOption='none'
      jvmDisableClassGC='false'
      jvmNativeStackSize='-1'
      jvmMinHeapSize='33554432'
      jvmMaxHeapSize='-1'
      jvmDebugPort='0'
      keystoreType='JKS'
      keystoreFile='C:\keystores\server.keystore'
      keystorePass='addressBookProvider::password'
      truststoreType='JKS'
      truststoreFile='C:\keystores\server.keystore'
      truststorePass='addressBookProvider::password'
    
    BIP8071I: コマンドが正常に完了しました
    

    コンシューマーでは:

    ComIbmJVMManager
      uuid='ComIbmJVMManager'
      userTraceLevel='none'
      traceLevel='none'
      userTraceFilter='none'
      traceFilter='none'
      jvmVerboseOption='none'
      jvmDisableClassGC='false'
      jvmNativeStackSize='-1'
      jvmMinHeapSize='33554432'
      jvmMaxHeapSize='-1'
      jvmDebugPort='0'
      keystoreType='JKS'
      keystoreFile='C:\keystores\client.keystore'
      keystorePass='addressBookConsumer::password'
      truststoreType='JKS'
      truststoreFile='C:\keystores\client.keystore'
      truststorePass='addressBookConsumer::password'
    
    BIP8071I: コマンドが正常に完了しました
    

「WS-Security を追加するためのサンプルの拡張」に戻る

「Address Book サンプルの拡張」に戻る

サンプルのホームに戻る