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 拡張」タブをクリックして、「応答コンシューマー構成」セクションを展開します。
  3. オプション: 「プロジェクト・エクスプローラー」ウィンドウを使用して、サーバー・サイドの拡張機能を検索します。 「Web Services Editor」ウィンドウが表示されます。 この Web サービスには、構成が必要な拡張機能が含まれています。以下のステップを実行して、サーバー・サイドの拡張機能を検索します。
    1. 「Web サービス」 > 「サービス」セクションを展開し、Web サービスの名前をダブルクリックします。
    2. 拡張機能」タブをクリックして、「要求コンシューマー・サービス構成の詳細」セクションを展開します。
  4. 「必要な保全性」セクションを展開します。 機密性が暗号化を指すのに対して、保全性はデジタル・シグニチャーを指します。 保全性によって、ネットワーク間でデータを送信する際にデータが変更されるリスクが軽減されます。 Simple Object Access Protocol (SOAP) メッセージへのデジタル署名について詳しくは、 XML デジタル・シグニチャーを参照してください。
  5. 追加」をクリックして、 どのメッセージ・パーツのデジタル・シグニチャーを検証するかを指定します。 「必要な保全性」ダイアログ・ウィンドウが表示されます。 以下のステップを実行して、構成を指定します。
    1. 「Required Integrity Name」フィールドの下の保全性要素の名前を指定します。
    2. 「Usage type」フィールドで使用タイプを指定します。 このフィールドには、保全性要素の要件を指定します。 この属性の値は、「Required」または「Optional」のいずれかです。
      Required
      Required」を選択した場合に必要なメッセージ・パーツや要素が署名されていないと、 メッセージは SOAP 障害を伴って拒否されます。
      Optional
      Optional」を選択すると、 署名済みの場合には、選択したメッセージ・パーツや要素のデジタル・シグニチャーが検査されます。 ただし、選択されたメッセージ・パーツまたは要素が署名されていない場合、 コンシューマーはメッセージを拒否しません。
  6. 「必要な保全性」ダイアログ・ウィンドウの「Message Parts」セクションの下の「追加」をクリックします。 以下のステップを実行して、メッセージ・パーツのダイアレクトとそのメッセージ・パーツを指定します。
    1. 「必要な保全性」ダイアログ・ウィンドウの「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」をクリックして、構成の変更を保存します。
    注: これらのコンシューマーと生成プログラムの構成は一致している必要があります。

次のタスク

デジタル・シグニチャーをチェックするメッセージ・パーツを指定した後、 どの方式を使用してシグニチャーを検証するかを指定する必要があります。 詳しくは、コンシューマー・バインディングの署名情報の構成を参照してください。

フィードバック