サーバー・サイドの拡張子ファイル (ibm-webservices-ext.xmi) およびクライアント・サイドのデプロイメント記述子拡張子ファイル (ibm-webservicesclient-ext.xmi) 内で、署名されるメッセージのパーツを指定する必要があります。
また、WebSphere® Application Server 管理コンソール内の「署名情報」パネル上の鍵情報参照によって参照される鍵情報を構成する必要があります。
このタスクは、サーバーまたはセル・レベルでクライアント・サイドの要求ジェネレーターとサーバー・サイドの応答ジェネレーター・バインディングの署名情報を構成するために必要なステップを説明します。
WebSphere
Application Server は、これらのバインディングがアプリケーション・レベルで
定義されていない場合は、デフォルトの生成プログラムの署名情報を使用して、
本文、タイム・スタンプ、ユーザー名トークンを含むメッセージのパーツを署名します。
アプリケーション・サーバーは、バインディングのデフォルト値を提供します。
ただし、管理者は実稼働環境に応じてデフォルトを変更する必要があります。
以下のステップを完了して、サーバー・レベルでバインディング・ファイルの「生成プログラム」セクションの署名情報を構成します。
- サーバー・レベルのデフォルト・バインディングにアクセスします。
- 「サーバー」>「アプリケーション・サーバー」>「server_name」の順にクリックします。
- 「セキュリティー」の下で、「Web services: Default bindings for Web services security」をクリックします。
- 「Default generator bindings」の下で「署名情報」をクリックします。
- 「新規」をクリックして署名情報構成を作成し、「削除」をクリックして既存の構成を削除するか、既存の署名情報構成の名前をクリックしてその設定を編集します。 新しい構成を作成する場合は、「Signing information name」フィールドで署名構成の固有の名前を入力します。
例えば、gen_signinfo と指定します。
- 「Signature method」フィールドから署名方法アルゴリズムを選択します。 デフォルトの生成プログラムに対して指定されたアルゴリズムは、デフォルトのコンシューマーに対して指定されたアルゴリズムと一致している必要があります。
WebSphere Application Server は、以下の事前構成されたアルゴリズムをサポートします。
- 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
- 「Canonicalization method」フィールドから正規化方式を選択します。 生成プログラム用に指定する正規化アルゴリズムは、コンシューマー用のアルゴリズムと一致する必要があります。
WebSphere Application Server は、以下の事前構成された正規 XML と排他的 XML 正規化アルゴリズムをサポートします。
- 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
- 「Key information signature type」フィールドから鍵情報署名タイプを選択します。 鍵情報署名タイプは、鍵をデジタル署名する方法を決定します。
WebSphere Application Server は、以下の署名タイプをサポートします。
- None
- KeyInfo 要素を署名しないことを指定します。
- Keyinfo
- KeyInfo 要素全体が署名されることを指定します。
- Keyinfochildelements
- KeyInfo 要素の子要素を署名することを指定します。
生成プログラム用の鍵情報署名タイプは、コンシューマー用の署名タイプと一致する必要があります。
以下の状態となることがあります。
- 前の署名タイプの 1 つを指定しない場合は、WebSphere Application Server はデフォルトで keyinfo を使用します。
- Keyinfo または Keyinfochildelements を選択し、以降のステップで変換アルゴリズムとして http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#STR-Transform を選択する場合、WebSphere Application Server はまた参照されたトークンを署名します。
- 「Signing key information」フィールドから鍵情報参照を選択します。 この選択は、アプリケーション・サーバーがデジタル・シグニチャーを生成するために使用する署名鍵への参照です。
バインディング・ファイル内で、この情報は <signingKeyInfo> タグ内で指定されます。
署名用に使用される鍵は、署名情報と同じレベルで定義される鍵情報要素によって指定されます。
詳しくは、サーバー・レベルまたはセル・レベルでの生成プログラム・バインディングの鍵情報構成を参照してください。
- 「OK」をクリックして構成を保管します。
- 新規の署名情報構成の名前をクリックします。 この構成は、前のステップで指定されたものです。
- パーツ参照、ダイジェスト・アルゴリズム、および変換アルゴリズムを指定します。 パーツ参照はメッセージのどのパーツをデジタル署名するかを指定します。
- 「追加プロパティー」の下で、「Part references」>「新規」とクリックして新規のパーツ参照を作成し、「Part references」>「削除」とクリックして既存のパーツ参照を削除するか、パーツ名をクリックして既存のパーツ参照を編集します。
- 署名が必要なメッセージ・パーツの固有のパーツ名を指定します。 このメッセージ・パーツはサーバー・サイドとクライアント・サイドの両方で指定されます。
サーバー・サイドとクライアント・サイドの両方に対して同一のパーツ名を指定する必要があります。
例えば、生成プログラムとコンシューマーの両方に対して、reqint を指定する必要があります。
重要: デフォルトのバインディング内のパーツ参照には、アプリケーション・レベルで指定したように値を指定する必要はありません。アプリケーション・レベルでのパーツ参照は署名されたメッセージの特定のパーツを指しているからです。
サーバー・レベルでのデフォルトのバインディングが、特定のサーバー上で定義されたすべてのサービスに適用可能なので、この値を指定できません。
- 「Digest method algorithm」フィールドでダイジェスト・メソッド・アルゴリズムを選択します。 <DigestMethod> 要素内のバインディング・ファイルで指定されたダイジェスト・メソッド・アルゴリズムは、<SigningInfo> 要素内で使用されます。
WebSphere Application Server は、http://www.w3.org/2000/09/xmldsig#sha1 アルゴリズムをサポートします。
- 「OK」と「保管」をクリックして、構成を保管します。
- 新規のパーツ参照構成の名前をクリックします。 この構成は、前のステップで指定されたものです。
- 「追加プロパティー」の下で、「Transforms」>「新規」とクリックして新規の変換を作成し、「Transforms」>「削除」とクリックして変換を削除するか、変換名をクリックして既存の変換を編集します。 新規の変換構成を作成した場合は、固有の名前を指定します。
例えば、reqint_body_transform1 を指定します。
- メニューから変換アルゴリズムを選択します。 <Transform> 要素内で変換アルゴリズムが指定されます。
このアルゴリズムの要素は、デジタル・シグニチャーの変換アルゴリズムを指定します。
WebSphere
Application Server は以下のアルゴリズムをサポートします。
- http://www.w3.org/2001/10/xml-exc-c14n#
- http://www.w3.org/TR/1999/REC-xpath-19991116
- http://www.w3.org/2002/06/xmldsig-filter2
- 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
- http://www.w3.org/2000/09/xmldsig#enveloped-signature
生成プログラム用に選択した変換アルゴリズムは、コンシューマー用に選択した変換アルゴリズムと一致する必要があります。
重要: 以下の両方の条件が true である場合、WebSphere Application Server は参照されたトークンを署名します。
- 「署名情報」パネル上の「Key information signature type」フィールドから、前に Keyinfo または Keyinfochildelements オプションが選択済みでした。
- 変換アルゴリズムとして、http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#STR-Transform を選択します。
- 「OK」をクリックします。
- パネルの上部にある「保管」をクリックして、構成を保管します。
これらのステップを完了すると、サーバー・レベルで生成プログラムの署名情報が構成されました。
コンシューマーのための類似の署名情報構成を指定する必要があります。