サーバーまたはセル・レベルで、
クライアント・サイドの要求生成プログラムおよびサーバー・サイドの応答生成プログラム・バインディングの署名情報を構成できます。
始める前に
注: WebSphere® Application Server バージョン 6.x 以前の場合のみ、サーバー・サイドの拡張ファイル (ibm-webservices-ext.xmi) とクライアント・サイドのデプロイメント記述子拡張ファイル (ibm-webservicesclient-ext.xmi) に、メッセージのどの部分が署名されるかを指定する必要があります。
また、管理コンソール内の署名情報パネルで、鍵情報参照が参照する鍵情報を構成する必要があります。
このタスクについて
このタスクでは、サーバーまたはセル・レベルで、
クライアント・サイドの要求ジェネレーター・バインディングおよびサーバー・サイドの応答ジェネレーター・バインディングの署名情報を構成するために必要なステップについて説明します。
これらのバインディングがアプリケーション・レベルで定義されていない場合、
WebSphere Application Server は、デフォルトのジェネレーターの署名情報を使用して、
本体、タイム・スタンプ、およびユーザー名トークンなどのメッセージのパーツに署名します。
アプリケーション・サーバーは、バインディングのデフォルト値を提供します。
しかし、管理者は実稼働環境に合わせてデフォルトを変更する必要があります。
サーバー・レベルおよびセル・レベルで生成プログラム・バインディングの署名情報を構成できます。
以下のステップでは、最初のステップでサーバー・レベルの署名情報を構成し、
2 番目のステップでセル・レベルの署名情報を構成します。
手順
- サーバー・レベルのデフォルト・バインディングにアクセスします。
- とクリックします。
- 「セキュリティー」の下の「JAX-WS および JAX-RPC セキュリティー・ランタイム」をクリックします。
混合バージョン環境 (Mixed-version environment): Websphere Application
Server バージョン 6.1 以前を使用するサーバーがある混合ノード・セルでは、「
Web サービス: Web Services Security のデフォルト・バインディング」をクリックします。
mixv
- とクリックして、
セル・レベルでデフォルト・バインディングにアクセスします。
- 「デフォルト生成バインディング」の下の「署名情報」をクリックします。
- 「新規」をクリックして署名情報構成を作成するか、
「削除」をクリックして既存の構成を削除するか、既存の署名情報構成の名前をクリックして、その設定を編集します。 新規構成を作成している場合は、「署名情報名」フィールドにその署名構成の固有の名前を入力します。
例えば、gen_signinfo などです。
トラブルの回避 (Avoid trouble): 複数の署名情報構成を作成した場合、WS-Security ランタイム環境はバインディング・ファイルに最初にリストされている構成のみに従います。
gotcha
- 「Signature method」フィールドからシグニチャー方式アルゴリズムを選択します。 デフォルトの生成プログラム用に指定されているアルゴリズムは、
デフォルトのコンシューマー用に指定されているアルゴリズムと一致している必要があります。
WebSphere Application Server は
次の事前構成済みアルゴリズムをサポートしています。
- 「正規化方式」フィールドから、正規化方式を選択します。 生成プログラム用にユーザーが指定する正規化アルゴリズムは、
コンシューマー用のアルゴリズムと一致している必要があります。
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
- 「鍵情報署名タイプ」フィールドから鍵情報シグニチャー・タイプを選択します。 鍵情報シグニチャー・タイプは、鍵をデジタル署名する方法を決定します。
WebSphere Application Server は、以下のシグニチャー・タイプをサポートしています。
- なし
- <KeyInfo> エレメントが署名されないように指定します。
- Keyinfo
- <KeyInfo> エレメント全体が署名されるように指定します。
- Keyinfochildelements
- <KeyInfo> エレメントの子エレメントが署名されるように指定します。
ジェネレーターの鍵情報シグニチャー・タイプは、コンシューマーのシグニチャー・タイプと一致している必要があります。
次の状態が発生する可能性があります。
- 上記のシグニチャー・タイプのいずれも指定しない場合、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 は参照されるトークンにも署名します。
- 「署名鍵情報」フィールドから署名鍵情報参照を選択します。 ここで選択するのは、アプリケーション・サーバーがデジタル署名を生成するために使用する署名鍵に対する参照です。
バインディング・ファイルで、この情報は <signingKeyInfo> タグ内で指定されます。署名に使用される鍵は、鍵情報エレメントによって指定され、署名情報と同じレベルに定義されます。
詳しくは、サーバーまたはセル・レベルでの JAX-RPC を使用したジェネレーター・バインディングの鍵情報の構成を参照してください。
- 「OK」をクリックして、構成を保管します。
- 新規署名情報構成の名前をクリックします。 この構成は、前のステップでユーザーが指定したものです。
- パーツ参照、ダイジェスト・アルゴリズム、および変換アルゴリズムを指定します。 パーツ参照は、メッセージのどのパーツをデジタル署名するかを指定します。
- 「追加プロパティー」で、をクリックして新規パーツ参照を作成するか、をクリックして既存のパーツ参照を削除するか、あるいは、パーツ名をクリックして既存のパーツ参照を編集します。
- 署名が必要なメッセージ・パーツに対して、固有のパーツ名を指定します。 このメッセージ・パーツは、サーバー・サイドとクライアント・サイドの両方で指定されます。
サーバー・サイドとクライアント・サイドの両方に対して、同一のパーツ名を指定する必要があります。
例えば、生成プログラムとコンシューマーの両方に対して reqint を指定します。
重要: アプリケーション・レベルで指定するように、
デフォルトのバインディングの「Part reference」の値を指定する必要はありません。
これは、アプリケーション・レベルのパーツ参照が、署名されるメッセージの特定のパーツを指すためです。
サーバー・レベルおよびセル・レベルのデフォルトのバインディングは、
特定のサーバー上で定義されるすべてのサービスに適用できるため、
この値を指定することはできません。
- 「ダイジェスト方式アルゴリズム」フィールドでダイジェスト方式アルゴリズムを選択します。 <DigestMethod> エレメント内のバインディング・ファイルで指定されるダイジェスト方式アルゴリズムは、
<SigningInfo> エレメントで使用されます。
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
- 「OK」をクリックしてから「保存」をクリックし、構成を保存します。
- 新規パーツ参照構成の名前をクリックします。 この構成は、前のステップでユーザーが指定したものです。
- 「追加プロパティー」の下で、とクリックして
新規変換を作成するか、とクリックして変換を削除するか、
または変換名をクリックして既存の変換を編集します。 新規変換構成を作成する場合は、固有の名前を指定します。
例えば、reqint_body_transform1 などです。
- メニューから変換アルゴリズムを選択します。 変換アルゴリズムは、<Transform> エレメント内で指定されます。このアルゴリズム・エレメントは、デジタル署名の変換アルゴリズムを指定します。
WebSphere Application Server は、以下のアルゴリズムをサポートしています。
生成プログラム用にユーザーが選択する変換アルゴリズムは、
コンシューマー用に選択する変換アルゴリズムと一致している必要があります。
重要: 以下の条件が両方とも真である場合、WebSphere Application Server は参照されるトークンに署名します。
- 以前、「署名情報」パネルの「鍵情報署名タイプ」フィールドから、Keyinfo または Keyinfochildelements オプションを選択した。
- 変換アルゴリズムとして http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#STR-Transform を選択する。
- 「適用」をクリックします。
- 「保存」をクリックして、構成を保存します。
タスクの結果
これらのステップが完了すると、サーバー
またはセル・レベルでの
ジェネレーターの署名情報が構成されます。
次のタスク
コンシューマーに対しても、同様の署名情報構成を指定する必要があります。