鍵ロケーター

鍵ロケーターまたは com.ibm.wsspi.wssecurity.keyinfo.KeyLocator クラスは、 デジタル・シグニチャーと暗号化の鍵を取得するメカニズムの抽象概念です。
実装に基づいて鍵を取得するために、以下のインフラストラクチャーを使用することができます。
鍵ロケーターは、いくつかのタイプの手掛かりを使用して鍵を検索します。以下のタイプの手掛かりがサポートされています。

WebSphere® Application Server バージョン 6 は、HMAC-SHA1 と呼ばれる秘密鍵ベースのシグニチャーをサポートします。 HMAC-SHA1 を使用する場合は、Simple Object Access Protocol (SOAP) メッセージはバイナリー・セキュリティー・トークンを含みません。 この場合、メッセージ内の鍵情報は、鍵ストア内の秘密鍵を指定するのに使用される鍵の名前を含んでいることが前提となっています。

鍵ロケーターは公開鍵ベースのシグニチャーをサポートするため、 検証用の鍵は受信メッセージの <BinarySecurityToken> 要素として X.509 証明書に組み込まれています。 例えば、鍵ロケーターはコンテキストからの呼び出し元の ID を取得することができ、 応答暗号の呼び出し元の公開鍵を検索することができます。

このセクションでは、鍵ロケーターの使用シナリオについて説明します。

署名

署名鍵の名前は、Web サービス・セキュリティー構成で指定されます。 この値は、鍵ロケーターに渡され、実際の鍵が戻されます。対応する X.509 証明書も戻すことができます。

検証

デフォルトで、WebSphere Application Server バージョン 6 は、以下の鍵ロケーター・タイプをサポートします。
KeyStoreKeyLocator
その鍵ストアを使用して、デジタル・シグニチャーと検証または暗号化と暗号化解除のために使用される鍵を検索します。
X509CertKeyLocator
メッセージ内で X.509 証明書 を使用して、検証または暗号化解除のために鍵を検索します。
SignerCertKeyLocator
要求メッセージ内で X.509 証明書を使用して、応答メッセージの暗号化に使用される鍵を検索します。

暗号化

暗号鍵の名前は、Web サービス・セキュリティー構成で指定されます。 この値は、鍵ロケーターに渡され、実際の鍵が戻されます。サーバー・サイドで、SignerCertKeyLocator を使用して、要求メッセージの X.509 証明書から応答メッセージの暗号のために鍵を検索します。

暗号化解除

Web サービス・セキュリティー仕様では、鍵の名前ではなく、鍵 ID を使用することを推奨しています。 ただし、公開鍵の ID を計算するアルゴリズムが Internet Engineering Task Force (IETF) Request for Comment (RFC) 3280 で定義されている場合、秘密鍵には合意に基づくアルゴリズムはありません。 このため、Web サービス・セキュリティーの現在の実装は、公開鍵ベースの暗号化が実行される場合のみ、ID を使用します。 それ以外の場合では、通常の鍵の名前が使用されます。

公開鍵ベースの暗号化を使用する場合、鍵 ID の値は、着信する暗号化メッセージに組み込まれます。 次に、Web サービス・セキュリティーの実装が、 鍵ロケーターによって管理されているすべての鍵を検索し、ID の値がメッセージ内の値と一致する鍵を使用してメッセージを暗号化解除します。

秘密鍵ベースの暗号化を使用する場合、鍵の名前の値は、着信する暗号化メッセージに組み込まれます。 Web サービス・セキュリティーの実装は、鍵ロケーターにメッセージ内の名前と一致する名前を持つ鍵を要求し、 その鍵を使用してメッセージを暗号化解除します。

関連資料
鍵コレクション鍵の名前
鍵の構成設定鍵の名前

フィードバック