以下の表では、IMS Connector for Java および IMS
Connect SSL サポートを設定および構成する方法について、
概要を説明します。記載されている順序に従って、ステップを実行してください。
SSL クライアント (IMS Connector for Java) |
SSL サーバー (IMS Connect) |
|
1. クライアント認証が必要かどうかを決定します。
注: IMS Connect への無許可アクセスに対してプロテクトするために、クライアント認証を使用することを強くお勧めします。
クライアント認証が不要な場合は、ステップ 5 にスキップします。 |
2. クライアント認証が必要な場合は、署名付き証明書および秘密鍵を取得します。 |
|
3. クライアント認証が必要な場合は、鍵ストアを作成し、クライアントの秘密鍵および証明書を挿入します。詳しくは、以下の説明を参照してください。 |
|
|
4. クライアント認証が必要な場合は、クライアントの公開鍵証明書を鍵リングに挿入します。詳しくは、「IMS Connect 手引きおよび解説書」(SC88-8911) を参照してください。 |
5. トラストストア (別のオプションの鍵ストア) を作成し、サーバーの公開鍵証明書を挿入します。あるいは、トラステッド証明書と非トラステッド証明書が同じ鍵ストアに保管されている場合は、
サーバーの公開鍵証明書をクライアントの鍵ストアに挿入します。 |
|
|
6. 使用する IMS Connect SSL ポートを決定します。適切な値を使用して IMS Connect および SSL 構成メンバーをセットアップしてください。
構成メンバーのセットアップについて詳しくは、「IMS Connect 手引きおよび解説書」(SC88-8911)
を参照してください。 |
7. ステップ 6 のポート番号も含め、適切な SSL パラメーターで接続ファクトリーをセットアップします。詳しくは、下記の説明を参照してください。 |
|
8 アプリケーションを SSL 接続ファクトリーにバインドします。 |
|
クライアントの鍵ストアまたはトラストストアの作成
クライアントとサーバーが相互に認証するようにするには、
クライアント側とサーバー側の両方で、JKS 鍵ストアまたは RACF 鍵リングに有効な X.509 証明書を設定する必要があります。サーバーによるクライアント認証が不要な場合には、
クライアント証明書を作成してそれをサーバーの鍵リングに追加する必要はありません。
鍵ストアの管理に使用できるツールは、いくつかあります。クライアント側とサーバー側の両方に JKS 鍵ストアを設定するには、以下のステップを実行する必要があります。
- クライアントである IMS Connector for Java を設定するには、証明書を作成し、認証局 (例えば、VeriSign など)
の署名を付けるか、または OpenSSL などのソフトウェアを使用して独自の認証局 (CA)
を作成し、自分の証明書に署名 (自己署名) します。
- 鍵ストアを作成するには、Ikeyman や Keytool などの鍵管理ツールを使用します。鍵ストアを作成したら、クライアント証明書 (使用可能な場合) を鍵ストアにインポートします。
- トラストストアを作成するには、別の鍵ストアを作成し、サーバーの (IMS Connect の) 証明書をインポートします。
注 : 鍵ストアを 1 つだけ作成する場合は、クライアントの証明書を保管するのに使用したものと同じ鍵ストアに
サーバーの証明書をインポートします。
SSL 構成
Java クライアント・アプリケーションと IMS Connect
の間のセキュア SSL 接続は、Java クライアント・アプリケーションが使用する接続ファクトリーで、その
SSL プロパティーに適切な値を指定することによって作成されます。
SSL プロパティー値の説明については、『接続プロパティー』を参照してください。
SSL プロパティーは、2 つの方法で設定できます。
注: 通知メッセージおよび警告については、WebSphere Application Server
によって生成された trace.log ファイルを参照してください。
実行時に、Java
クライアント・アプリケーションが IMS™
との対話を実行すると、その対話はセキュア (SSL) 接続上で IMS Connector for Java から IMS Connect に流れます。この後のステップは、Java クライアント・アプリケーションに対して透過的に行われます。IMS リソース・アダプターは SSL プロトコルを使用して、
以下のように IMS Connect と対話します。
- SSL クライアントである IMS Connector for Java は、クライアントに hello を送信して接続を開始します。サーバーである IMS Connect は、サーバーの hello と、公開鍵を含む証明書で応答します。
- サーバーがクライアント認証を必要としない場合、クライアントは、証明書から得られるサーバーの公開鍵を使用して、
サーバーの証明書を認証します。認証に成功すると、SSL ハンドシェークが完了します。セッション鍵が両端で確立されます。
- サーバーがクライアント認証を必要とする場合、クライアントは、証明書から得られるサーバーの公開鍵を使用して、
サーバーの証明書を認証します。この認証が正常に行われると、クライアント証明書がクライアントの鍵ストアから送られます。サーバーによってこの証明書が正常に認証されると、SSL ハンドシェークが完了します。セッション鍵が両端で確立されます。
- これで、クライアントおよびサーバーは暗号化されたデータを送受信する準備ができます。
アプリケーションを (SSL 接続を使用する場合は強く推奨されるように)
管理環境で実行する際は、IMS Connector for Java は永続的ソケット接続のみを使用して IMS Connect と通信を行います。
WebSphere Application Server の接続マネージャーを使用する場合は、その他のクライアント・アプリケーションが
接続をシリアルに再利用することができます。接続マネージャーは、必要であれば接続を作成し、それらの接続を必要に応じてアプリケーションに提供します。接続を使用したアプリケーションが終了したとき、接続マネージャーはその接続をフリー・プールに戻し、このタイプの接続を必要とする、その他のアプリケーションで再利用可能にします。しかし、クライアント認証およびサーバー認証は、ハンドシェーク中に各ソケットごとに 1 回ずつ発生します。これは、そのソケットが最初に作成され、SSL ソケットとして初期化されるときに実行されます。ソケットが再利用された場合、SSL クライアントである IMS Connector for Java と、サーバーである
IMS Connect は変更されません。
したがって、ソケットが再利用されたときは、(再びハンドシェーク処理を介して)
クライアントとサーバーを再度認証する理由はありません。
これは、ソケットが再利用されるたびに、ソケットを識別する clientID
が同じままで残るという事実と、矛盾しないことに注意してください。