鍵ロケーター
鍵ロケーター (com.ibm.wsspi.wssecurity.config.KeyLocator) は、 デジタル署名および暗号化の鍵を検索するメカニズムの抽象概念です。
- Java™ 鍵ストア・ファイル
- データベース
- Lightweight Third Party Authentication (LTPA) サーバー
- アプリケーション・プログラミング・インターフェース (API) を介して明示的に渡される鍵のストリング・ラベル。 それぞれの鍵とその名前 (ストリング・ラベル) との関係は、 鍵ロケーター内部で維持されます。
- 鍵ロケーターの実行コンテキスト。 明示的情報は鍵ロケーターに渡されません。 鍵ロケーターは、実行コンテキストに従って該当する鍵を判別します。
鍵ロケーターの現行バージョンは、現行の Web Services Security 実装が秘密鍵ベースのシグニチャーをサポートしていないため、検証鍵の検索をサポートしていません。鍵ロケーターは公開鍵ベースのシグニチャーのみをサポートするため、検証用の鍵は、 着信メッセージ内の <BinarySecurityToken> エレメントとして X.509 証明書に組み込まれます。
例えば、鍵ロケーターは、応答の暗号化のために、コンテキストから呼び出し元の ID を取得したり、 呼び出し元の公開鍵を検索することができます。
使用法シナリオ
このセクションでは、鍵ロケーターの使用法シナリオについて説明します。
署名:
署名鍵の名前は、Web Services Security 構成で指定されます。この値が鍵ロケーターに渡され、実際の鍵が戻されます。 対応する X.509 証明書も戻されます。
検査
前述のとおり、鍵ロケーターはシグニチャー検査では使用されません。
暗号化:
暗号化鍵の名前は、Web Services Security 構成で指定されます。この値が鍵ロケーターに渡され、実際の鍵が戻されます。
暗号化解除:
Web Services Security 仕様では、鍵名の代わりに鍵 ID を使用することを推奨しています。しかし、公開鍵の ID を計算するためのアルゴリズムが Internet Engineering Task Force (IETF) Request for Comment (RFC) 3280 で定義されているのに対し、 秘密鍵用の承認されたアルゴリズムはありません。 したがって、Web Services Security の現行実装では、公開鍵ベースの暗号化が実行される場合に限り、ID が使用されます。それ以外の場合には、通常の鍵名が使用されます。
公開鍵ベースの暗号化を使用する場合、 鍵 ID の値が着信暗号化メッセージに組み込まれます。 その後、Web Services Security 実装は、鍵ロケーターで管理されるすべての鍵を検索し、ID 値がメッセージ内の ID 値に一致する鍵を使用してメッセージを暗号化解除します。
秘密鍵ベースの暗号化を使用する場合、 鍵名の値が着信暗号化メッセージに組み込まれます。 Web Services Security 実装は、鍵ロケーターに対して、名前がメッセージ内の名前に一致する鍵を要求し、その鍵を使用してメッセージを暗号化解除します。