コンシューマー・バインディングの署名情報の構成

このタスクを実行する前に、以下のステップを実行する必要があります。
  1. デジタル署名するメッセージ・パーツを指定します。 詳しくは、キーワードによるコンシューマー・セキュリティー制約内のメッセージ要素への署名またはXPath 式によるコンシューマー・セキュリティー制約内のメッセージ要素への署名を参照してください。
  2. 「Signing information」ダイアログ・ウィンドウ内で、鍵情報要素によって参照される鍵情報を構成します。 詳しくは、コンシューマー・バインディング用鍵情報の構成を参照してください。

以下のステップを実行して、 アセンブリー・ツールを使用してサーバー・サイドとクライアント・サイドのバインディングの署名情報を構成します。 コンシューマー・サイドの署名情報を使用して、署名済みのメッセージ・パーツを検証することにより、 受信した Simple Object Access Protocol (SOAP) メッセージの保全性を検査します。 応答コンシューマーはクライアント向けに、要求コンシューマーはサーバー向けに、それぞれ構成されます。以下のステップでは、ステップ 2 でクライアント・サイドのバインディング、 またはステップ 3 でサーバー・サイドのバインディングのいずれかを構成する必要があります。

  1. ウィンドウ」>「パースペクティブを開く」>「J2EE」の順にクリックします。
  2. オプション: 「プロジェクト・エクスプローラー」ウィンドウを使用して、クライアント・サイドのバインディングを見つけます。 「Client Deployment Descriptor」ウィンドウが表示されます。 この Web サービスには、ユーザーが構成する必要があるバインディングが含まれています。 以下のステップを実行して、クライアント・サイドのバインディングを検索します。
    1. 「Web サービス」>「クライアント」セクションの順に展開して、 Web サービスの名前をダブルクリックします。
    2. WS Binding」タブをクリックして、「Security Response Consumer Binding Configuration」セクションを展開します。
  3. オプション: 「プロジェクト・エクスプローラー」ウィンドウを使用して、サーバー・サイドのバインディングを検索します。 「Web Services Editor」ウィンドウが表示されます。 この Web サービスには、ユーザーが構成する必要があるバインディングが含まれています。 以下のステップを実行して、サーバー・サイドのバインディングを検索します。
    1. 「Web サービス」>「サービス」セクションの順に展開して、 Web サービスの名前をダブルクリックします。
    2. Binding Configurations」タブをクリックして、「Request Consumer Binding Configuration Details」セクションを展開します。
  4. 「Signing Information」セクションを展開し、「追加」をクリックして新規項目を追加するか、 既存の項目を選択して「編集」をクリックします。 「Signing Information」ダイアログ・ウィンドウが表示されます。 以下のステップを実行して、署名情報を指定します。
    1. 「Signing information name」フィールドで署名情報構成の名前を指定します。
    2. 「Canonicalization method algorithm」フィールドから正規化方式を選択します。 正規化方式アルゴリズムを使用して、 署名操作の一部として統合する前に、署名情報を正規化します。 以下の事前構成済みアルゴリズムがサポートされています。
      • http://www.w3.org/2001/10/xml-exc-c14n#
      • http://www.w3.org/2001/10/xml-exc-c14n#WithComments
      • http://www.w3.org/TR/2001/REC-xml-c14n-20010315
      • http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments

      生成プログラムとコンシューマーの両方に対して同じ正規化アルゴリズムを指定する必要があります。 生成プログラムの署名情報の構成について詳しくは、アセンブリー・ツールによる生成プログラム・バインディングの署名情報の構成を参照してください。

    3. 「Signature method algorithm」フィールドから署名方式アルゴリズムを選択します。 以下の事前構成済みアルゴリズムがサポートされています。
      • http://www.w3.org/2000/09/xmldsig#rsa-sha1
      • http://www.w3.org/2000/09/xmldsig#dsa-sha1
      • http://www.w3.org/2000/09/xmldsig#hmac-sha1

      生成プログラムとコンシューマーの両方に対して同じ署名アルゴリズムを指定する必要があります。 生成プログラムの署名情報の構成について詳しくは、アセンブリー・ツールによる生成プログラム・バインディングの署名情報の構成を参照してください。

  5. 「Signing Key Information」セクションで、 「追加」をクリックして新規鍵情報項目を追加するか、 「除去」をクリックして選択した項目を削除します。 新規鍵情報項目を追加する場合は、以下のサブステップを実行します。
    1. 「Key information name」フィールドに名前を指定します。
    2. 「Key information element」フィールドの下のリストから鍵情報参照を選択します。 このフィールドの値は、ユーザーが以前に指定した 鍵情報構成を参照します。 この署名情報構成と共に con_signkeyinfo という鍵情報構成を使用する場合は、 「Key information element」フィールドに con_signkeyinfo を指定します。 詳しくは、コンシューマー・バインディング用鍵情報の構成を参照してください。
  6. オプション: SOAP メッセージ内の鍵情報に署名する場合は、 「Use key information signature」オプションを使用します。
  7. オプション: Use key information signature」オプションを選択した場合は、 「タイプ」フィールドから鍵情報署名タイプを選択します。 SOAP メッセージ内の KeyInfo 要素全体に署名する必要があることを指定するには、keyinfo 値を選択します。 KeyInfo 要素内の子要素に署名する必要があることを指定するには、keyinfochildelements 値を選択します。 ただし、KeyInfo 要素そのものに署名する必要はありません。
  8. OK」をクリックして、署名情報構成を保管します。
  9. 「Part References」サブセクションを展開して、 「Signing Information」セクションから署名情報構成を選択します。
  10. 「Part References」サブセクションで、 「追加」をクリックして新規項目を追加するか、 既存の項目を選択して「編集」をクリックします。 「Part References」ダイアログ・ウィンドウが表示されます。 以下のステップを実行して、パーツ参照を構成します。
    1. 「Part reference name」フィールドにパーツ参照構成の名前を指定します。
    2. 「RequiredIntegrity part」フィールドで必要な保全性のパーツ構成を選択します。 必要な保全性のパーツ構成は、署名する必要があるメッセージ・パーツを指定します。 必要な保全性の構成方法について詳しくは、キーワードによるコンシューマー・セキュリティー制約内のメッセージ要素への署名またはXPath 式によるコンシューマー・セキュリティー制約内のメッセージ要素への署名を参照してください。
    3. 「Digest method algorithm」フィールドで http://www.w3.org/2000/09/xmldsig#sha1 ダイジェスト・メソッド・アルゴリズムを選択します。 このダイジェスト・メソッド・アルゴリズムを使用して、 このパーツ参照によって指定された各メッセージ・パーツのダイジェストを作成します。
    4. OK」をクリックして、パーツ参照構成を保管します。
  11. 「Part reference」サブセクションから「Transforms」サブセクションとパーツ参照構成を展開します。
  12. 「Transforms」サブセクションで、 「追加」をクリックして新規項目を追加するか、 既存の項目を選択して「編集」をクリックします。 「Transform」ダイアログ・ウィンドウが表示されます。
    1. 「名前」フィールドで変換名を指定します。
    2. 「Algorithm」フィールドから変換アルゴリズムを選択します。 以下の変換アルゴリズムがサポートされています。
      http://www.w3.org/2001/10/xml-exc-c14n#
      このアルゴリズムは、World Wide Web Consortium (W3C) Exclusive Canonicalization の勧告を指定します。
      http://www.w3.org/TR/1999/REC-xpath-19991116
      このアルゴリズムは、W3C XML Path Language 勧告を指定します。このアルゴリズムを指定した場合は、 「Transform properties」の下に表示される「追加」をクリックして、プロパティー名と値を指定する必要があります。 例えば、以下の情報を指定します。
      名前
      com.ibm.wsspi.wssecurity.dsig.XPathExpression
      not(ancestor-or-self::*[namespace-uri()='http://www.w3.org/2000/09/xmldsig#' and local-name()='Signature'])
      http://www.w3.org/2002/06/xmldsig-filter2
      このアルゴリズムは、XML-Signature XPath Filter バージョン 2.0 提案の勧告を 指定します。
      このアルゴリズムを使用する場合は、「Transform property」フィールドにプロパティーのセットを指定する必要があります。 XPath Filter バージョン 2 には複数のプロパティー・セットを使用できます。
      注: プロパティー名の末尾には、プロパティー・セットの数をつけてください (以下の例では、 アスタリスクで示されています)。
      • XPath filter2 の XPath 式を指定する場合は、以下を使用できます。

        name com.ibm.wsspi.wssecurity.dsig.XPath2Expression_*

      • 各 XPath のフィルター・タイプを指定する場合は、以下を使用できます。

        name com.ibm.wsspi.wssecurity.dsig.XPath2Filter_*

        この式に続いて、値 [intersect][subtract]、または [union] を指定できます。
      • 各 XPath の処理順を指定する場合は、以下を使用できます。

        name com.ibm.wsspi.wssecurity.dsig.XPath2Order_*

        この式の後に、XPath の処理順を指定します。
      以下に、完全な例のリストを示します。

      com.ibm.wsspi.wssecurity.dsign.XPath2Filter_1 = [intersect]
      com.ibm.wsspi.wssecurity.dsign.XPath2Order_1 = [1]
      com.ibm.wsspi.wssecurity.dsign.XPath2Expression_2 = [XPath expression#2]
      com.ibm.wsspi.wssecurity.dsign.XPath2Filter_2 = [subtract]
      com.ibm.wsspi.wssecurity.dsign.XPath2Filter_2 = [1]

      http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#STR-Transform
      http://www.w3.org/2002/07/decrypt#XML
      このアルゴリズムは、W3C Decryption Transform for XML Signature 勧告を指定します。
      http://www.w3.org/2000/09/xmldsig#enveloped-signature
      このアルゴリズムは、XML デジタル・シグニチャーの W3C 勧告を指定します。
    3. OK」をクリックして、変換構成を保管します。
このコンシューマー・バインディングのタスクを完了した後で、 これまでにこのタスクを完了していない場合には、生成プログラム・バインディングの署名情報を構成する必要があります。
関連タスク
キーワードによるコンシューマー・セキュリティー制約内のメッセージ要素への署名
XPath 式によるコンシューマー・セキュリティー制約内のメッセージ要素への署名
コンシューマー・バインディング用鍵情報の構成
アセンブリー・ツールによる生成プログラム・バインディングの署名情報の構成

フィードバック