アセンブリー・ツールを使用して、サーバー・サイドおよびクライアント・サイドのバインディング用の署名情報を構成できます。
コンシューマー・サイドの署名情報は、
受信した SOAP メッセージの保全性を、
署名されているメッセージ・パーツを検証することによって確認する際に使用します。
応答コンシューマーはクライアントに対して構成され、要求コンシューマーはサーバーに対して構成されます。
このタスクについて
以下のステップを実行します。ステップ 2 でのクライアント・サイドのバインディング、またはステップ 3 でのサーバー・サイドのバインディングを構成する必要があります。
プロシージャー
- アセンブリー・ツールを開始します。
- Java 2 Platform, Enterprise Edition (J2EE) パースペクティブへ切り替えます。
「ウィンドウ」>「パースペクティブのオープン」>「J2EE」とクリックします。
- オプション: プロジェクト・エクスプローラー・ウィンドウで、クライアント側のバインディングを探します。
「Client Deployment Descriptor」ウィンドウが表示されます。
この Web サービスに、構成が必要なバインディングが含まれています。
以下のステップを実行して、クライアント側のバインディングを見つけます。
- 「Web サービス」>「クライアント」とセクションを展開し、
Web サービスの名前をダブルクリックします。
- 「WS Binding」タブをクリックし、「Security Response
Consumer Binding Configuration」セクションを展開します。
- オプション: 「Project Explorer」ウィンドウを使用して、サーバー・サイドのバインディングを見付けます。
「Web Services Editor」ウィンドウが表示されます。
この Web サービスに、構成が必要なバインディングが含まれています。
以下のステップを実行して、
サーバー側のバインディングを見つけます。
- 「Web サービス」>「サービス」とセクションを展開し、
Web サービスの名前をダブルクリックします。
- 「Binding Configurations」タブをクリックして、
「Request Consumer Binding Configuration Details」セクションを展開します。
- 「署名情報」セクションを展開し、「追加」をクリックして新規項目を追加するか、
既存の項目を選択して「編集」をクリックします。
「署名情報」ダイアログ・ウィンドウが表示されます。
以下のステップに従って、署名情報を指定してください。
- 「署名情報名」フィールドで、署名情報構成の名前を指定します。
- 「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
ジェネレーターとコンシューマーで同じ正規化アルゴリズムを指定する必要があります。
ジェネレーターの署名情報の構成について詳しくは、
ジェネレーター・バインディング用署名情報の、アセンブリー・ツールによる構成
を参照してください。
- オプション: FIPS 準拠アルゴリズムのみを「Digest method
algorithm」ドロップダウン・リストに表示したい場合、「Show only FIPS Compliant Algorithms」を選択します。このオプションは、アプリケーションを WebSphere Application Server 管理コンソールの「グローバル・セキュリティー」パネルで「Use the Federal Information Processing Standard (FIPS)」オプションを設定した WebSphere Application Server 上で実行する場合のオプションです。
- 「Signature method algorithm」フィールドから、シグニチャー方式アルゴリズムを選択します。
以下の事前構成済みアルゴリズムがサポートされています。
ジェネレーターとコンシューマーで同じシグニチャー・アルゴリズムを指定する必要があります。
ジェネレーターの署名情報の構成について詳しくは、
ジェネレーター・バインディング用署名情報の、アセンブリー・ツールによる構成
を参照してください。
- 「Signing Key Information」セクションで「追加」をクリックして新規の鍵情報項目を追加するか、
「除去」をクリックして選択した項目を除去します。
新規の鍵情報項目を追加する場合は、以下のサブステップを実行します。
- 「鍵情報名」フィールドで名前を指定します。
- 「Key information element」フィールドのリストから、鍵情報参照を選択します。
このフィールドの値は、以前に指定した鍵情報構成を参照します。
con_signkeyinfo という鍵情報構成があり、それをこの署名情報構成で使用したい場合は、
「Key information element」フィールドに con_signkeyinfo を指定します。
詳しくは、コンシューマー・バインディング用鍵情報の、アセンブリー・ツールによる構成
を参照してください。
- オプション: SOAP メッセージ内の鍵情報に署名する場合は、
「Use key information signature」オプションを選択します。
- オプション: 「Use key information signature」オプションを選択した場合は、
「タイプ」フィールドで鍵情報シグニチャーのタイプを選択します。
SOAP メッセージ内で KeyInfo エレメント全体に署名が必要であるように指定するには、「keyinfo」値を選択します。
KeyInfo エレメント内の子エレメントに署名する必要があるように指定するには、
「keyinfochildelements」値を選択します。
ただし、KeyInfo エレメントそのものに署名する必要はありません。
- 「OK」をクリックして、署名情報構成を保管します。
- 「Part References」サブセクションを展開して、
「署名情報」セクションから署名情報構成を選択します。
- 「Part References」サブセクションで「追加」をクリックして新規項目を追加するか、
既存の項目を選択して「編集」をクリックします。
「Part References」ダイアログ・ウィンドウが表示されます。
以下のステップに従って、パーツ参照を構成してください。
- 「Part reference name」フィールドで、パーツ参照構成の名前を指定します。
- 「Required Integrity part」フィールドで、必要な保全性パーツ構成を選択します。
必要な保全性パーツ構成では、署名が必要なメッセージ・パーツが指定されます。
必要な保全性の構成方法について詳しくは、
コンシューマーのセキュリティー制約におけるメッセージ・エレメントの、キーワードによる署名
またはコンシューマーのセキュリティー制約におけるメッセージ・エレメントの、XPath 式による署名
を参照してください。
- オプション: FIPS 準拠アルゴリズムのみを「Digest method
algorithm」ドロップダウン・リストに表示したい場合、「Show only FIPS Compliant Algorithms」を選択します。このオプションは、アプリケーションを WebSphere Application Server 管理コンソールの「グローバル・セキュリティー」パネルで「Use the Federal Information Processing Standard (FIPS)」オプションを設定した WebSphere Application Server 上で実行する場合のオプションです。
- 「Digest method algorithm」フィールドで、
http://www.w3.org/2000/09/xmldsig#sha1 ダイジェスト・メソッド・アルゴリズムを選択します。
このダイジェスト・メソッド・アルゴリズムは、
このパーツ参照で指定された各メッセージ・パーツのダイジェスト作成に使用されます。
- 「OK」をクリックして、パーツ参照の構成を保管します。
- 「パーツ参照」サブセクションから、「変換」サブセクションおよびパーツ参照構成を展開します。
- 「変換」サブセクションで「追加」をクリックして新規項目を追加するか、
既存の項目を選択して「編集」をクリックします。
「変換」ダイアログ・ウィンドウが表示されます。
- 「名前」フィールドで変換名を指定します。
- 「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 勧告を指定します。
- 「OK」をクリックして、変換構成を保管します。
次の作業
コンシューマー・バインディングについてこのタスクを完了したら、次は、
ジェネレーター・バインディング用の署名情報を構成する必要があります (このタスクをまだ完了していない場合)。