アプリケーション・レベルで、
サーバー・サイドの要求コンシューマー・バインディングおよびクライアント・サイドの
応答コンシューマー・バインディングの署名情報を構成できます。
始める前に
ベスト・プラクティス: WebSphere Application Server Version
6.1 Feature Pack for Web Services は、本製品の機能を拡張して、Java API for XML-Based Web Services (JAX-WS) 2.0 の
プログラミング・モデルを導入できるようにします。
JAX-WS は、次世代の Web サービス・プログラミング・モデルであり、
Java API for XML-based RPC (JAX-RPC) プログラミング・モデルが提供する
基盤を提供します。戦略的 JAX-WS プログラミング・モデルを使用すると、
標準ベースの注釈モデルのサポートによって、Web サービスおよび Web クライアントの開発が
容易になります。
JAX-RPC プログラミング・モデルとアプリケーションは
引き続きサポートされますが、Web サービス・アプリケーションおよびクライアントを
新規に開発する場合は、
実装が容易な JAX-WS プログラミング・モデルをご利用ください。bprac
サーバー・サイドの拡張ファイルおよびクライアント・サイドのデプロイメント記述子拡張ファイルでは、
メッセージのどの部分が署名されるかを指定する必要があります。
また、管理コンソール内の「署名情報」パネルで、鍵情報参照が参照する鍵情報を構成する必要があります。
このタスクについて
WebSphere Application Server は、コンシューマー側の署名情報を使用して、メッセージ・パーツが署名されていることを検証することによって、
受け取った SOAP メッセージの保全性を検査します。
以下のステップを実行して、アプリケーション・レベルで、バインディング・ファイルの
サーバー・サイドの要求コンシューマー・セクションおよびクライアント・サイドの応答コンシューマー・セクションの
署名情報を構成します。
プロシージャー
- 管理コンソールにアクセスします。
ポート番号を変更していない場合、管理コンソールにアクセスするには、
Web ブラウザーで http://localhost:port_number/ibm/console と入力します。
ポート番号を変更していない場合、管理コンソールにアクセスするには、
Web ブラウザーで http://server_name:port_number/ibm/console と入力します。
- 「アプリケーション」>「エンタープライズ・アプリケーション」>「application_name」とクリックします。
- 「モジュールの管理」の下で、「URI_name」をクリックします。
- 「Web サービス・セキュリティー・プロパティー」では、要求ジェネレーター・バインディングおよび応答ジェネレーター・バインディングの署名情報にアクセスできます。
- 要求コンシューマーの署名情報を構成するには、「Web サービス:
サーバー・セキュリティーのバインディング」をクリックします。「要求コンシューマー (受信側)
バインディング」の下の「カスタムの編集」をクリックします。
- 応答コンシューマーの署名情報を構成するには、「Web サービス:
クライアント・セキュリティーのバインディング」をクリックします。
「応答コンシューマー (受信側) バインディング」の下の「カスタムの編集」をクリックします。
- 「必須プロパティー」の下の「署名情報」をクリックします。
- 「新規」をクリックして署名情報構成を作成するか、
「削除」をクリックして既存の構成を削除するか、既存の署名情報構成の名前をクリックして、その設定を編集します。
新規構成を作成している場合は、「署名情報名」フィールドに名前を入力します。
- 「Signature method」フィールドからシグニチャー方式アルゴリズムを選択します。
シグニチャー方式は、バインディング・ファイル内の正規化された <SignedInfo> エレメントを
<SignatureValue> エレメントに変換するために使用されるアルゴリズムです。
コンシューマー (要求コンシューマーまたは応答コンシューマー構成のいずれか) 用に指定されたアルゴリズムは、
ジェネレーター (要求ジェネレーターまたは応答ジェネレーター構成のいずれか) 用に指定されたアルゴリズムと一致している必要があります。
WebSphere Application Server は
次の事前構成済みアルゴリズムをサポートしています。
- 「Canonicalization method」フィールドから、正規化方式を選択します。
正規化方式アルゴリズムは、デジタル・シグニチャー操作の一部として取り込まれる前に、
<SignedInfo> エレメントを正規化するために使用されます。
ジェネレーター用にユーザーが指定する正規化アルゴリズムは、
コンシューマー用のアルゴリズムと一致している必要があります。
WebSphere Application Server は
次の事前構成済みアルゴリズムをサポートしています。
- 「鍵情報署名タイプ」フィールドから鍵情報シグニチャー・タイプを選択します。
鍵情報シグニチャー・タイプは、
SOAP メッセージ内の <KeyInfo> エレメントがどのようにデジタル署名されるかを指定します。
WebSphere Application Server は以下のシグニチャー・タイプをサポートしています。
- なし
- 鍵が署名されないように指定します。
- Keyinfo
- KeyInfo エレメント全体が署名されるように指定します。
- Keyinfochildelements
- KeyInfo エレメントの子エレメントが署名されるように指定します。
上記のシグニチャー・タイプのいずれも指定しない場合、
WebSphere Application Server はデフォルトで keyinfo を使用します。
コンシューマーの鍵情報シグニチャー・タイプは、
ジェネレーターのシグニチャー・タイプと一致している必要があります。
- 「追加プロパティー」の下の「鍵情報参照」をクリックします。
- 「新規」をクリックして鍵情報参照を作成するか、
既存項目の名前をクリックして、その構成を編集します。
「鍵情報参照」パネルが表示されます。
- 「名前」フィールドに名前を入力します。
- 「鍵情報参照」フィールドで、鍵情報参照を選択します。
この参照は、この署名情報構成が使用する鍵情報を指定する鍵情報構成名です。
- 「署名情報」パネルに戻ります。
「追加プロパティー」の下の「パーツ参照」をクリックします。
「パーツ参照」パネルでは、
デプロイメント記述子拡張ファイルで定義されるメッセージ・パートに対する参照を指定することができます。
- 「新規」をクリックして新規パーツ参照を作成するか、
既存のパーツ参照の名前をクリックして、その構成を編集します。
「Part reference」パネルが表示されます。
- 「Part name」フィールドに名前を入力します。
この名前は、デプロイメント記述子拡張ファイルの必要な保全性構成の名前で、
デジタル署名する必要があるメッセージ・パーツを指定します。
- 「Digest method algorithm」フィールドからダイジェスト方式アルゴリズムを選択します。
WebSphere Application Server は
次の事前構成済みアルゴリズムをサポートしています。
- http://www.w3.org/2000/09/xmldsig#sha1
- http://www.w3.org/2001/04/xmlenc#sha256
- http://www.w3.org/2001/04/xmlenc#sha512
カスタム・アルゴリズムを指定する場合、
ダイジェスト方式アルゴリズムを設定する前に、「Algorithm URI」パネルでカスタム・アルゴリズムを構成する必要があります。
- 「追加プロパティー」の下の「変換」をクリックします。
- 「新規」をクリックして新規変換を作成するか、
既存の変換の名前をクリックして、その構成を編集します。
- 「Transform name」フィールドに名前を入力します。
- 「Transform algorithm」フィールドから変換アルゴリズムを選択します。
WebSphere Application Server は
次の事前構成済みアルゴリズムをサポートしています。
コンシューマー用にユーザーが選択する変換アルゴリズムは、
ジェネレーター用に選択する変換アルゴリズムと一致している必要があります。
署名情報の各パーツ参照について、ダイジェスト方式アルゴリズムと変換アルゴリズムの両方を指定します。
- 「OK」をクリックします。
- パネル上部の「保管」をクリックして、構成を保管します。
結果
これらのステップが完了すると、コンシューマーの署名情報が構成されます。
次の作業
ジェネレーターに対しても、同様の署名情報構成を指定する必要があります。