コンシューマーのセキュリティー制約を応答コンシューマーまたは要求コンシューマーに対して構成するときに、XPath 式を使用して nonce を組み込んだり暗号化したりするエレメントの機密性を検査できます。
応答コンシューマーはクライアントに対して構成され、要求コンシューマーはサーバーに対して構成されます。
始める前に
このタスクを実行する前に、
アプリケーションをアセンブリー・ツールにインポートする必要があります。
アプリケーションをインポートする方法については、エンタープライズ・アプリケーションのインポートを参照してください。
ここでは、署名するメッセージ・パーツを指定する際に、
XPath 式を使用する場合とキーワードを使用する場合の違いについて説明します。
- XPath 式
- XPath 式を使用して任意のメッセージ・パーツを指定します。XPath は、
XML 文書のパーツを処理する場合に使用される言語です。XPath 構文に関する情報は、
Web サイト http://www.w3.org/TR/1999/REC-xpath-19991116 で入手できます。
- キーワード
- 事前定義されたキーワードを使用して、メッセージ内のエレメントのみを指定します。
このタスクについて
メッセージ内の特定のエレメントに nonce を組み込み、
そのエレメントを暗号化するよう指定する場合は、機密性を得るための nonce を使用します。
以下のステップを実行します。ステップ 2 でのクライアント・サイドのバインディング、またはステップ 3 でのサーバー・サイドのバインディングを構成する必要があります。
プロシージャー
- アセンブリー・ツールを開始します。
- Java 2 Platform, Enterprise Edition (J2EE) パースペクティブへ切り替えます。
「ウィンドウ」>「パースペクティブのオープン」>「J2EE」とクリックします。
- オプション: プロジェクト・エクスプローラー・ウィンドウで、クライアント側のバインディングを探します。
「Client Deployment Descriptor」ウィンドウが表示されます。
この Web サービスに、構成が必要な拡張機能が含まれています。
以下のステップを実行して、クライアント側のバインディングを見つけます。
- 「Web サービス」>「クライアント」とセクションを展開し、
Web サービスの名前をダブルクリックします。
- 「WS Extension」タブをクリックして、
「Response Consumer Configuration」セクションを展開します。
- オプション: 「Project Explorer」ウィンドウを使用して、サーバー・サイドのバインディングを見付けます。
「Web Services Editor」ウィンドウが表示されます。
この Web サービスに、構成が必要なバインディングが含まれています。
以下のステップを実行して、
サーバー側のバインディングを見つけます。
- 「Web サービス」>「サービス」セクションを展開し、Web サービスの名前をダブルクリックします。
- 「拡張機能」タブをクリックして、
「Request Consumer Service Configuration Details」セクションを展開します。
- 「Required Confidentiality」セクションを展開します。 機密性は暗号化に関連し、保全性はデジタル署名に関連します。
機密性は、ネットワーク内を通過するメッセージが傍受されるリスクを軽減します。機密性仕様により、
メッセージは送信前に暗号化され、正当な宛先で受信されると暗号化解除されます。
暗号化について詳しくは、
XML 暗号化
を参照してください。
- 「追加」をクリックして、
nonce を追加したり暗号化したりするエレメントの機密性を検査するよう指定します。
「Required Confidentiality」ダイアログ・ウィンドウが表示されます。
以下のステップを実行し、構成を指定します。
- 「Required Confidentiality Name」フィールドで、
機密性エレメントの名前を指定します。
- 「Usage type」フィールドで使用タイプを指定します。 このフィールドは、
機密性エレメントの要件を指定します。この属性の値は、
「必須」または「オプション」のいずれかです。
- 「Required Confidentiality」ダイアログ・ウィンドウの、
「Nonce」セクションで「追加」をクリックします。
以下のステップに従って、nonce ダイアレクトとそれに関連したメッセージ・パーツを指定します。
- 「Nonce」セクションから nonce ダイアレクトを選択します。
http://www.w3.org/TR/1999/REC-xpath-19991116 ダイアレクトでは、
nonce が組み込まれているメッセージ・パーツを、XPath 式を使用して暗号化の検証するように指定されています。
- 「Nonce keyword」フィールドで、
nonce が組み込まれているメッセージ・パーツの、XPath 式による暗号化除去を実行するように指定します。
例えば、組み込まれた nonce とともに bodycontent エレメントの機密性も検査するように指定するには、以下の式を、
「Nonce keyword」フィールドに連続した 1 行として追加します。
/*[namespace-uri()='http://schemas.xmlsoap.org/soap/envelope/'
and local-name()='Envelope']/*[namespace-uri()='http://schemas.xmlsoap.org/
soap/envelope/' and local-name()='Bodycontent']
-
「Required Confidentiality」でメッセージ・パーツを指定していない場合は、
「メッセージ・パーツ」セクションで「追加」をクリックしてメッセージ・パーツを追加します。「Required Confidentiality」で「Nonce」を指定するには、
「Required Confidentiality」で少なくとも 1 つのメッセージ・パーツを定義しておく必要があります。
- 「メッセージ・パーツ」セクションで、メッセージ・パーツのキーワードを選択します。
- 「OK」をクリックして、構成変更を保管します。
注: 以上の構成は、
コンシューマー側とジェネレーター側で一致している必要があります。
nonce のほか、タイム・スタンプ・エレメントで暗号化の検査を行うように指定することもできます。
詳しくは、以下の項目を参照してください。