ここでは、署名するメッセージ・パーツを指定する際に、XPath 式を使用する場合とキーワードを使用する場合の違いについて説明します。
- XPath 式
- XPath 式を使用して任意のメッセージのパーツを指定します。XPath は、XML 文書のパーツを指定するために使用される言語です。
XPath の構文については、http://www.w3.org/TR/1999/REC-xpath-19991116 の Web サイトを参照してください。
- キーワード
- 事前定義されたキーワードを使用してメッセージ内の要素のみを指定します。
以下のステップを実行して、XPath 式を使用してどのメッセージ・パーツに署名するかを指定します。
以下のステップでは、ステップ 2 でクライアント・サイドの拡張機能、
またはステップ 3 でサーバー・サイドの拡張機能のいずれかを構成する必要があります。
- 「ウィンドウ」>「パースペクティブを開く」>「J2EE」の順にクリックします。
- オプション: 「プロジェクト・エクスプローラー」ウィンドウを使用してクライアント・サイドの拡張機能を検索します。 「Client Deployment Descriptor」ウィンドウが表示されます。
この Web サービスには、ユーザーが構成する必要のある拡張機能が含まれています。
以下のステップを実行して、クライアント・サイドの拡張機能を検索します。
- 「Web サービス」>「クライアント」セクションの順に展開して、
Web サービスの名前をダブルクリックします。
- 「WS Extension」タブをクリックして、「Response Consumer Configuration」セクションを展開します。
- オプション: 「プロジェクト・エクスプローラー」ウィンドウを使用して、サーバー・サイドの拡張機能を検索します。 「Web Services Editor」ウィンドウが表示されます。
この Web サービスには、ユーザーが構成する必要のある拡張機能が含まれています。
以下のステップを実行して、サーバー・サイドの拡張機能を検索します。
- 「Web サービス」>「サービス」セクションの順に展開して、
Web サービスの名前をダブルクリックします。
- 「拡張機能」タブをクリックして、「Request Consumer Service Configuration Details」セクションを展開します。
- 「Required Integrity」セクションを展開します。 機密性が暗号化を指すのに対して、保全性はデジタル・シグニチャーを指します。
保全性によって、ネットワーク間でデータを送信する際にデータが変更されるリスクが軽減されます。
Simple Object Access Protocol (SOAP) メッセージへのデジタル署名について詳しくは、
XML デジタル・シグニチャーを参照してください。
- 「追加」をクリックして、
どのメッセージ・パーツのデジタル・シグニチャーを検証するかを指定します。 「Required Integrity」ダイアログ・ウィンドウが表示されます。
以下のステップを実行して、構成を指定します。
- 「Required Integrity Name」フィールドの下の保全性要素の名前を指定します。
- 「Usage type」フィールドで使用タイプを指定します。 このフィールドには、保全性要素の要件を指定します。
この属性の値は、「Required」または「Optional」のいずれかです。
- Required
- 「Required」を選択した場合に必要なメッセージ・パーツや要素が署名されていないと、
メッセージは SOAP 障害を伴って拒否されます。
- Optional
- 「Optional」を選択すると、
署名済みの場合には、選択したメッセージ・パーツや要素のデジタル・シグニチャーが検査されます。
ただし、選択されたメッセージ・パーツまたは要素が署名されていない場合、
コンシューマーはメッセージを拒否しません。
- 「Required Integrity」ダイアログ・ウィンドウの「Message Parts」セクションの下の「追加」をクリックします。 以下のステップを実行して、メッセージ・パーツのダイアレクトとそのメッセージ・パーツを指定します。
- 「Required Integrity」ダイアログ・ウィンドウの「Message Parts」セクションから、
メッセージ・パーツのダイアレクトを選択します。 http://www.w3.org/TR/1999/REC-xpath-19991116 というダイアレクトを選択すると、XPath 式によってデジタル・シグニチャーを検証するメッセージ・パーツが指定されます。
- 「Message parts keyword」フィールドの XPath 式を使用してデジタル・シグニチャーを検証するメッセージ・パーツを指定します。 例えば、メッセージ本文をチェックして、署名済みであるかどうかを判別することを指定するには、
「Message parts 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()='Body']
重要: 入力した XPath 構文が正しいことを確認してください。
- 「OK」をクリックして、構成の変更を保管します。
注: これらのコンシューマーと生成プログラムの構成は一致している必要があります。
メッセージ・パーツのほかに、WebSphere
® Application Server が nonce 要素と timestamp 要素のデジタル・シグニチャーをチェックするように指定することもできます。
詳しくは、以下の項目を参照してください。