ジェネレーターのセキュリティー制約を要求ジェネレーターまたは応答ジェネレーターに対して構成するときに、XPath 式を使用して保全性を得るための nonce を指定できます。
要求ジェネレーターはクライアント用に構成され、
応答ジェネレーターはサーバー用に構成されます。
始める前に
このタスクを実行する前に、
アプリケーションをアセンブリー・ツールにインポートする必要があります。
アプリケーションをインポートする方法については、エンタープライズ・アプリケーションのインポートを参照してください。
ここでは、署名するメッセージ・パーツを指定する際に、
XPath 式を使用する場合とキーワードを使用する場合の違いについて説明します。
- XPath 式
- XPath 式を使用して任意のメッセージ・パーツを指定します。XPath は、
XML 文書のパーツを処理する場合に使用される言語です。XPath 構文に関する情報は、
Web サイト http://www.w3.org/TR/1999/REC-xpath-19991116 で入手できます。
- キーワード
- 事前定義されたキーワードを使用して、メッセージ内のエレメントのみを指定します。
このタスクについて
特定のエレメントに nonce を組み込み、
そのエレメントに署名するよう指定する場合には、
保全性を得るための nonce を使用します。
nonce はランダムに生成される暗号トークンです。
特定のメッセージ・パーツに nonce を追加すると、
メッセージの盗み見やリプレイ・アタックを防ぐことができます。これは、生成される nonce が固有であるためです。
例えば、nonce を使用しない場合に、非セキュア・トランスポート (HTTP など) を使用してユーザー名トークンがマシン間で受け渡されると、
トークンが傍受されて、リプレイ・アタックで使用されることがあります。
ユーザー名トークンは、XML デジタル・シグニチャーと XML 暗号化を使用している場合であっても、
盗まれる可能性があります。しかし、nonce を追加するとこれを防ぐことができます。
以下のステップを実行します。ステップ 2 でのクライアント・サイドの拡張機能、またはステップ 3 でのサーバー・サイドの拡張機能の構成を行う必要があります。
プロシージャー
- アセンブリー・ツールを開始して、
「ウィンドウ」>「パースペクティブのオープン」>「J2EE」とクリックします。
- オプション: プロジェクト・エクスプローラー・ウィンドウで、
クライアント・サイドの拡張機能を探します。
「Client Deployment Descriptor」ウィンドウが表示されます。
この Web サービスに、構成が必要な拡張機能が含まれています。
以下のステップを実行して、クライアント・サイドの拡張機能を見付けます。
- 「Web サービス」 > 「クライアント」セクションを展開し、Web サービスの名前をダブルクリックします。
- 「WS Extension」タブをクリックして、
「Request Generator Configuration」セクションを展開します。
- オプション: 「Project Explorer」ウィンドウを使用して、サーバー・サイドの拡張機能を見付けます。
「Web Services Editor」ウィンドウが表示されます。
この Web サービスに、構成が必要な拡張機能が含まれています。
以下のステップを実行して、サーバー・サイドの拡張機能を見付けます。
- 「Web サービス」>「サービス」セクションを展開し、Web サービスの名前をダブルクリックします。
- 「拡張機能」タブをクリックして、
「Response Generator Service Configuration Details」セクションを展開します。
- 「保全性」セクションを展開します。 機密性が暗号化を意味するのに対して、「保全性」はデジタル・シグニチャーを意味します。
保全性によって、データがネットワーク内を伝送されている間に変更されるリスクが減少します。
SOAP メッセージへのデジタル署名の詳細については、XML デジタル・シグニチャー
を参照してください。
- 「追加」をクリックして、保全性を得るための nonce を指定します。
「保全性」ダイアログ・ウィンドウが表示されます。
以下のステップを実行し、構成を指定します。
- 「Integrity Name」フィールドで、
保全性エレメントの名前を指定します。
- 「順序」フィールドで順序を指定します。 この値は正の整数値で、
デジタル・シグニチャーの処理順序を指定するものです。
順序値 1 を指定すると、その署名が最初に実行されます。
- 「保全性」ダイアログ・ウィンドウの「Nonce」セクションで、「追加」をクリックします。
以下のステップに従って、nonce ダイアレクトとメッセージ・パーツを指定してください。
- 「Nonce」セクションから nonce ダイアレクトを選択します。
http://www.w3.org/TR/1999/REC-xpath-19991116 ダイアレクトで、
XPath 式を使用して nonce を追加したり nonce に署名したりするメッセージ・パーツを指定します。
- 「Nonce keyword」フィールドで、
XPath 式を使用して nonce を追加し、署名するメッセージ・パーツを選択します。
例えば、nonce を本文に追加し、その本文に署名するように指定するには、
nonce キーワードに以下の式を指定します。
/*[namespace-uri()='http://schemas.xmlsoap.org/soap/envelope/'
and local-name()='Envelope']/*[namespace-uri()='http://schemas.xmlsoap.org/
soap/envelope/' and local-name()='Body']
- 「メッセージ・パーツ」セクションで「追加」をクリックして、「Message parts dialect」フィールドで http://www.w3.org/TR/1999/REC-xpath-19991116 を選択します。
- 「メッセージ・パーツ」セクションで、メッセージ・パーツのキーワードを選択します。
重要: 保全性を得るために nonce を指定するには、
「メッセージ・パーツ」セクションで少なくとも 1 つのメッセージ・パーツを定義しておく必要があります。
nonce の親エレメントだけでなく、このメッセージ・パーツにも署名されます。
- 「OK」をクリックして、構成変更を保管します。
注: 以上の構成は、コンシューマーとジェネレーターで一致している必要があります。
nonce のほか、タイム・スタンプ・エレメントに署名されるように指定することもできます。
詳しくは、以下の項目を参照してください。