Java Secure Socket Extension (JSSE) 鍵マネージャーの役割は、Secure Sockets Layer (SSL) ハンドシェーク中にクライアントまたはサーバーを識別するのに使用する証明書を取り出すことです。
WebSphere Application Server の場合、指定の SSl 構成について 1 回に 1 つの鍵マネージャーのみを構成でき ます。クライアント・サイドでカスタム証明書選択ロジックを使用したい場合は、新規のカスタム鍵マネージャーを作 成する必要があります。 カスタム鍵マネージャーは、ユーザーに動的に証明書を選択させるプロンプトを出す機能を提供できます。 また、拡張インターフェースを実装して、鍵マネージャーが接続中に情報を提供できるようにすること もできます。 拡張インターフェースについて詳しくは、com.ibm.wsspi.ssl.KeyManagerExtendedInfo インターフェースを参照してください。カスタム鍵マネージャーの開発について詳しくは、例: カスタム Secure Sockets Layer 鍵選択用のカスタム鍵マネージャーの作成 を参照してください。
デフォルトの IbmX509 鍵マネージャーは、SSL ハンドシェー クの際に ID として機能する証明書を選択します。 鍵マネージャーは呼び出されて、SSL ハンドシェークの両側でクライアント認証を使用可能にします。クライアントお よびサーバー要件に応じて、サーバー・サイドのことが多く、クライアント・サイドはそれほど多くありません。 鍵ストアがクライアント・サイドに構成されておらず、SSL クライアント認証が使用可能になっている場合は、鍵マネージ ャーはサーバーに送信する証明書を選択することができません。 このため、ハンドシェークは失敗します。
<keyManagers xmi:id="KeyManager_1" name="IbmX509" provider="IBMJSSE2" algorithm="IbmX509" keyManagerClass="" managementScope="ManagementScope_1"/>鍵マネージャーは IBMJSSE2 プロバイダーによって提供されるため、keyManagerClass クラスは指定しません。ただし、鍵マネージャーがカスタム・クラス実装である (その場合は、keyManager クラスを指定する必要があります) か、WebSphere Application Server が Java セキュリティー・プロバイダー・フレームワークから開始できるアルゴリズム名であるかを指定できます。
<keyManagers xmi:id="KeyManager_2" name="CustomKeyManager" keyManagerClass="com.ibm.ws.ssl.core.CustomKeyManager" managementScope="ManagementScope_1"/>追加の WebSphere Application Server 情報を取り出すには、 カスタム・クラスが javax.net.ssl.X509KeyManager インターフェースを実装する必要があります。また、オプション で com.ibm.wsspi.ssl.KeyManagerExtendedInfo インターフェースを実装できます。 1 回に 1 つの鍵マネージャーしか構成できないため、このインターフェースはデフォルトの鍵マネージャーの機能 を置き換えます。 このため、カスタム鍵マネージャーだけが、使用する別名の構成済み鍵ストアからの選択を担当します。 カスタム鍵マネージャーの利点は、クライアント・サイドにおいて、別名を求めるプロンプトを出す機能にあります。 このプロセスにより、ユーザーは、 クライアント証明書 ID を把握した状態で、 どの証明書を使用するかを決定できます。 詳しくは、カスタム鍵マネージャーの作成 を参照してください。