サーバー・サイドの拡張子ファイル (ibm-webservices-ext.xmi) およびクライアント・サイドのデプロイメント記述子拡張子ファイル (ibm-webservicesclient-ext.xmi) 内で、署名されるメッセージのパーツを指定する必要があります。
また、WebSphere® Application Server 管理コンソール内の「署名情報」パネル上の鍵情報参照によって参照される鍵情報を構成する必要があります。
このタスクは、アプリケーション・レベルでクライアント・サイドの要求ジェネレーターとサーバー・サイドの応答ジェネレーター・バインディングの署名情報を構成するために必要なステップを説明します。
WebSphere Application Server は、デフォルトの生成プログラムの署名情報を使用して、本文、タイム・スタンプ、ユーザー名トークンを含むメッセージのパーツを署名します。
アプリケーション・サーバーは、バインディングのデフォルト値を提供します。
ただし、管理者は実稼働環境に応じてデフォルトを変更する必要があります。
以下のステップを完了して、アプリケーション・レベルでバインディング・ファイルの「生成プログラム」セクションの署名情報を構成します。
- WebSphere Application Server 管理コンソールで、「Signing information configuration」パネルを位置指定します。
- 「アプリケーション」>「エンタープライズ・アプリケーション」>「application_name」の順にクリックします。
- 「関連項目」の下で、「EJB モジュール」または「Web モジュール」>「URI_name」の順にクリックします。
- 「追加プロパティー」の下で、要求生成プログラムと応答生成プログラム・バインディングの署名情報にアクセスできます。
- 要求生成プログラム (送信側) バインディングについては、「Web サービス: クライアント・セキュリティー・バインディング」をクリックします。
「Request generator (sender) binding」の下で、「Edit custom」をクリックします。
- 応答生成プログラム (送信側) バインディングについては、「Web services: Server security bindings」をクリックします。
「Response generator (sender) binding」の下で、「Edit custom 」をクリックします。
- 「Required properties」の下で、「署名情報」をクリックします。
- 「新規」をクリックして署名情報構成を作成し、構成の隣のボックスを選択して「削除」をクリックして既存の構成を削除するか、既存の署名情報構成の名前をクリックしてその設定を編集します。 新しい構成を作成する場合は、「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 は、以下の事前構成されたアルゴリズムをサポートします。
- 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」フィールドから鍵情報参照を選択します。 この選択は、アプリケーション・サーバーがデジタル・シグニチャーを生成するために使用する署名鍵への参照です。
- 「OK」と「保管」をクリックして、構成を保管します。
- 新規の署名情報構成の名前をクリックします。 この構成は、前のステップで指定されたものです。
- パーツ参照、ダイジェスト・アルゴリズム、および変換アルゴリズムを指定します。 パーツ参照はメッセージのどのパーツをデジタル署名するかを指定します。
- 「追加プロパティー」の下で、「Part references」>「新規」とクリックして新規のパーツ参照を作成し、「Part references」>「削除」とクリックして既存のパーツ参照を削除するか、パーツ名をクリックして既存のパーツ参照を編集します。
- このパーツ参照に固有のパーツ名を指定します。 例えば、reqint と指定します。
- 「Part reference」フィールドからパーツ参照を選択します。
パーツ参照は、デジタル署名されているメッセージ・パーツを参照します。
パーツ属性は、<PartReference> 要素が署名に指定された場合に、デプロイメント記述子内で <Integrity> 要素の名前を参照します。
<SigningInfo> 要素内で複数の <PartReference> 要素を指定することができます。
署名 <DigestTransform> と <Transform> に対して指定されている場合は、<PartReference> 要素は 2 つの子要素を持っています。
- メニューからダイジェスト・メソッド・アルゴリズムを選択します。 <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」をクリックします。
- パネルの上部にある「保管」をクリックして、構成を保管します。
これらのステップを完了すると、アプリケーション・レベルで署名情報が生成プログラム用に構成されました。
コンシューマーのための類似の署名情報構成を指定する必要があります。