以下のステップを実行して、
アセンブリー・ツールを使用してサーバー・サイドとクライアント・サイドのバインディングの署名情報を構成します。
要求ジェネレーターはクライアント向けに、応答ジェネレーターはサーバー向けに、それぞれ構成されます。以下のステップでは、ステップ 2 でクライアント・サイドのバインディング、
またはステップ 3 でサーバー・サイドのバインディングのいずれかを構成する必要があります。
- 「ウィンドウ」>「パースペクティブを開く」>「J2EE」の順にクリックします。
- オプション: 「プロジェクト・エクスプローラー」ウィンドウを使用して、クライアント・サイドのバインディングを見つけます。 「Client Deployment Descriptor」ウィンドウが表示されます。
この Web サービスには、ユーザーが構成する必要があるバインディングが含まれています。
- 「Web サービス」>「クライアント」セクションの順に展開して、
Web サービスの名前をダブルクリックします。
- 「WS Binding」タブをクリックして、
「Security Request Generator Binding Configuration」セクションを展開します。
- オプション: 「プロジェクト・エクスプローラー」ウィンドウを使用して、サーバー・サイドのバインディングを検索します。 「Web Services Editor」ウィンドウが表示されます。
この Web サービスには、ユーザーが構成する必要があるバインディングが含まれています。
- 「Web サービス」>「サービス」セクションの順に展開して、
Web サービスの名前をダブルクリックします。
- 「Binding Configurations」タブをクリックして、「Response Generator Binding Configuration Details」セクションを展開します。
- 「Signing Information」セクションを展開し、「追加」をクリックして新規項目を追加するか、
既存の項目を選択して「編集」をクリックします。 「Signing Information」ダイアログ・ウィンドウが表示されます。
- 「Signing information name」フィールドで署名情報構成の名前を指定します。 例えば、gen_signinfo と指定します。
- 「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
生成プログラムとコンシューマーの両方に対して同じ正規化アルゴリズムを指定する必要があります。
コンシューマーの署名情報の構成について詳しくは、
コンシューマー・バインディングの署名情報の構成を参照してください。
- 「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
生成プログラムとコンシューマーの両方に対して同じ正規化アルゴリズムを指定する必要があります。
コンシューマーの署名情報の構成について詳しくは、
コンシューマー・バインディングの署名情報の構成を参照してください。
- 「Signing Key Information」セクションで、
「追加」をクリックして新規鍵情報項目を追加するか、
「除去」をクリックして選択した項目を削除します。 新規鍵情報項目を追加する場合は、以下のサブステップを実行します。
- 「Key information name」フィールドに名前を指定します。 例えば、gen_skeyinfo を指定します。
- 「Key information element」フィールドの下のリストから鍵情報参照を選択します。 このフィールドの値は、ユーザーが以前に指定した
鍵情報構成を参照します。
この署名情報構成と共に gen_signkeyinfo という鍵情報構成を使用する場合は、
「Key information element」フィールドに gen_signkeyinfo を指定します。
詳しくは、生成プログラム・バインディング用鍵情報の構成を参照してください。
- オプション: Simple Object Access Protocol (SOAP) メッセージ内の鍵情報に署名する場合は、
「Use key information signature」オプションを選択します。
- オプション: 「Use key information signature」オプションを選択した場合は、
「タイプ」フィールドから鍵情報署名タイプを選択します。 SOAP メッセージ内の KeyInfo 要素全体に署名する必要があることを指定するには、keyinfo 値を選択します。
KeyInfo 要素内の子要素に署名する必要があることを指定する場合は、
keyinfochildelements 値を選択しますが、
KeyInfo 要素そのものに署名する必要はありません。
- 「OK」をクリックして、署名情報構成を保管します。
- 「Part References」サブセクションを展開して、
「Signing Information」セクションから署名情報構成を選択します。
- 「Part References」サブセクションで、
「追加」をクリックして新規項目を追加するか、
既存の項目を選択して「編集」をクリックします。 「Part References」ダイアログ・ウィンドウが表示されます。
- 「Part reference name」フィールドにパーツ参照構成の名前を指定します。
- 「Integrity part」フィールドで保全性パーツ構成を選択します。 保全性パーツの構成方法について詳しくは、
キーワードによる生成プログラム・セキュリティー制約内のメッセージ要素への署名またはXPath 式による生成プログラム・セキュリティー制約内のメッセージ要素への署名を参照してください。
- 「Digest method algorithm」フィールドで http://www.w3.org/2000/09/xmldsig#sha1 ダイジェスト・メソッド・アルゴリズムを選択します。 このダイジェスト・メソッド・アルゴリズムを使用して、
このパーツ参照によって指定された各メッセージ・パーツのダイジェストを作成します。
- 「Part reference」サブセクションから「Transforms」サブセクションとパーツ参照構成を展開します。
- 「Transforms」サブセクションで、
「追加」をクリックして新規項目を追加するか、
既存の項目を選択して「編集」をクリックします。 「Transform」ダイアログ・ウィンドウが表示されます。
- 「名前」フィールドで変換名を指定します。 例えば、reqint_body_transform1 を指定します。
- 「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 勧告を指定します。このアルゴリズムを 指定する場合、「追加プロパティー」の下に表示される「プロパティー」をクリックして、プロパティー名と値を指定する必要があります。
例えば、以下の情報を指定します。
- プロパティー
- 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 勧告を指定します。
生成プログラム用に選択する変換アルゴリズムは、
コンシューマー用の変換アルゴリズムと一致していなければなりません。
この生成プログラム・バインディングのタスクを完了したら、
コンシューマー・バインディングの署名情報を構成する必要があります。