SSL を使用するには、クライアント (IMS™ TM リソース・アダプター) とサーバー (IMS Connect) の両方を SSL ハンドシェーク用に構成する必要があります。
実行時に、Java クライアント・
アプリケーションが IMS との
対話を実行すると、その対話は機密保護機能のある (SSL) 接続上で、SSL クライアントである
IMS TM リソース・アダプター と
SSL サーバーである IMS
Connect の間を流れます。
クライアントとサーバー間の SSL 接続を開始するために、SSL ハンドシェーク処理が行われます。Java クライアント・
アプリケーションに対しては透過的なこの SSL ハンドシェークは、次のように起こります。
- SSL クライアントである IMS TM リソース・アダプターは、
クライアントに hello メッセージを送信して接続を開始します。
サーバーである IMS
Connect は、サーバーの hello メッセージと、公開鍵を含む証明書で応答します。
- この証明書がサーバーによって正常に認証されると、両方の側で
セッション鍵が確立され、接続で使用される暗号化のタイプを決定する
暗号仕様が折衝されます。
暗号は、STRONG、WEAK、または ENULL に設定できます。
その後、サーバーがクライアント認証を必要としない場合、SSL ハンドシェークは完了します。
- サーバーがクライアント認証を要求する場合、クライアントは、証明書から得られるサーバーの公開鍵を使用して、サーバーの証明書を認証します。
この認証が正常に行われると、クライアント証明書がクライアントの鍵ストアから送られます。
この証明書がサーバーによって正常に認証されると、両方の側で
セッション鍵が確立され、接続で使用される暗号化のタイプを決定する
暗号仕様が折衝されます。
その後、SSL ハンドシェークが完了します。
- これで、クライアントおよびサーバーは暗号化されたデータを送受信する準備ができます。
重要: クライアント・アプリケーションが (SSL 接続を使用する場合に強く推奨されているとおり) 管理環境で実行されている場合、IMS TM リソース・アダプターは、永続的ソケット接続を使用して IMS Connect と通信する必要があります。
しかし、非管理環境では、これらの永続的接続は使用後、毎回アプリケーションによって切断され、別のアプリケーションが再利用できません。
WebSphere® Application Server Connection Manager を使用すると、
他のクライアント・アプリケーションが接続を連続して再利用可能です。
接続マネージャーは、必要であれば接続を作成し、それらの接続を必要に応じてアプリケーションに提供します。
接続を使用したアプリケーションが終了したとき、接続マネージャーはその接続をフリー・プールに戻し、このタイプの接続を必要とするその他のアプリケーションで再利用可能にします。
しかし、クライアント認証およびサーバー認証は、ハンドシェーク中に各ソケットごとに 1 回ずつ発生します。
これは、そのソケットが最初に作成され、SSL ソケットとして初期化されるときに実行されます。
ソケットが再利用される場合、SSL クライアントである IMS TM リソース・アダプターと、
サーバーである IMS Connect に変更はありません。
したがって、ソケットが再利用されたときは、(再びハンドシェーク処理を介して) クライアントとサーバーを再度認証する必要はありません。
ソケットが再利用されるたびに、ソケットを識別するクライアント
ID は同じままで残ります。
SSLEncryption 値が ENULL に設定されると、
Strong または Weak 暗号化を使用した SSL 接続よりもパフォーマンスが高速になります。パフォーマンス改善レベルはハードウェア暗号化が使用されているか、またはソフトウェア暗号化が使用されているかなど、いくつかの要因に依存します。一般に、ハードウェア暗号化のほうがソフトウェアの暗号化より高速です。