XPath 式によるコンシューマー・セキュリティー制約内のメッセージ要素への署名

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

フィードバック