WebSphere® Application Server バージョン 6 は、HMAC-SHA1 と呼ばれる秘密鍵ベースのシグニチャーをサポートします。 HMAC-SHA1 を使用する場合は、Simple Object Access Protocol (SOAP) メッセージはバイナリー・セキュリティー・トークンを含みません。 この場合、メッセージ内の鍵情報は、鍵ストア内の秘密鍵を指定するのに使用される鍵の名前を含んでいることが前提となっています。
鍵ロケーターは公開鍵ベースのシグニチャーをサポートするため、 検証用の鍵は受信メッセージの <BinarySecurityToken> 要素として X.509 証明書に組み込まれています。 例えば、鍵ロケーターはコンテキストからの呼び出し元の ID を取得することができ、 応答暗号の呼び出し元の公開鍵を検索することができます。
このセクションでは、鍵ロケーターの使用シナリオについて説明します。
署名
署名鍵の名前は、Web サービス・セキュリティー構成で指定されます。 この値は、鍵ロケーターに渡され、実際の鍵が戻されます。対応する 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 サービス・セキュリティーの実装は、鍵ロケーターにメッセージ内の名前と一致する名前を持つ鍵を要求し、 その鍵を使用してメッセージを暗号化解除します。