サーバー・レベルまたは セル・レベルで、
クライアント・サイドの要求ジェネレーター・バインディングおよびサーバー・サイドの応答ジェネレーター・バインディングの署名情報を
構成できます。
始める前に
サーバー・サイドの拡張ファイル (ibm-webservices-ext.xmi) および
クライアント・サイドのデプロイメント記述子拡張ファイル (ibm-webservicesclient-ext.xmi) では、
メッセージのどのパーツが署名されるかを指定する必要があります。
また、管理コンソール内の署名情報パネルで、鍵情報参照が参照する鍵情報を構成する必要があります。
このタスクについて
このタスクでは、サーバー・レベルまたはセル・レベルで、
クライアント・サイドの要求ジェネレーター・バインディングおよびサーバー・サイドの応答ジェネレーター・バインディングの署名情報を構成するために必要なステップについて説明します。
バインディングがアプリケーション・レベルで定義されていない場合、
WebSphere Application Server は、デフォルトのジェネレーターの署名情報を使用して、
本体、タイム・スタンプ、およびユーザー名トークンを含むメッセージのパーツに署名します。
アプリケーション・サーバーは、バインディングのデフォルト値を提供します。
しかし、管理者は実稼働環境に合わせてデフォルトを変更する必要があります。
プロシージャー
- サーバー・レベルのデフォルト・バインディングにアクセスします。
- 「サーバー」>「アプリケーション・サーバー」>「server_name」とクリックします。
- 「セキュリティー」の下の「Web サービス: Web サービス・セキュリティーの
デフォルト・バインディング」をクリックします。
- 「デフォルト・ジェネレーター・バインディング」の下の「署名情報」をクリックします。
- 「新規」をクリックして署名情報構成を作成するか、
「削除」をクリックして既存の構成を削除するか、既存の署名情報構成の名前をクリックして、その設定を編集します。
新規構成を作成している場合は、「署名情報名」フィールドにその署名構成の固有の名前を入力します。
例えば、gen_signinfo などです。
- 「Signature method」フィールドからシグニチャー方式アルゴリズムを選択します。
デフォルトのジェネレーター用に指定されているアルゴリズムは、
デフォルトのコンシューマー用に指定されているアルゴリズムと一致している必要があります。
WebSphere Application Server は
次の事前構成済みアルゴリズムをサポートしています。
- 「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
- 「鍵情報署名タイプ」フィールドから鍵情報シグニチャー・タイプを選択します。
鍵情報シグニチャー・タイプは、鍵をデジタル署名する方法を決定します。
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> タグ内で指定されます。
署名に使用される鍵は、鍵情報エレメントによって指定され、署名情報と同じレベルに定義されます。
詳しくは、
サーバーまたはセル・レベルでのジェネレーター・バインディングの鍵情報の構成
を参照してください。
- 「OK」をクリックして、構成を保管します。
- 新規署名情報構成の名前をクリックします。
この構成は、前のステップでユーザーが指定したものです。
- パーツ参照、ダイジェスト・アルゴリズム、および変換アルゴリズムを指定します。
パーツ参照は、メッセージのどのパーツをデジタル署名するかを指定します。
- 「追加プロパティー」の下で、「パーツ参照」>「新規」とクリックして新規パーツ参照を作成するか、
「パーツ参照」>「削除」とクリックして既存のパーツ参照を削除するか、
パーツ名をクリックして、既存のパーツ参照を編集します。
- 署名が必要なメッセージ・パーツに対して、固有のパーツ名を指定します。
このメッセージ・パーツは、サーバー・サイドとクライアント・サイドの両方で指定されます。
サーバー・サイドとクライアント・サイドの両方に対して、同一のパーツ名を指定する必要があります。
例えば、ジェネレーターとコンシューマーの両方に対して reqint を指定します。
重要: アプリケーション・レベルで指定するように、
デフォルトのバインディングの「Part reference」の値を指定する必要はありません。
これは、アプリケーション・レベルのパーツ参照が、署名されるメッセージの特定のパーツを指すためです。
サーバー・レベルのデフォルトのバインディングは、特定のサーバー上で定義されているすべてのサービスに適用できるため、
この値を指定することはできません。
- 「Digest method algorithm」フィールドでダイジェスト方式アルゴリズムを選択します。
<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 を選択する。
- 「適用」をクリックします。
- オプション: 包括的ネーム・スペース接頭部リストを使用不可に設定するかどうか決定します。
Exclusive XML Canonicalization Version 1.0
仕様では、ネーム・スペース接頭部に対応するすべてのネーム・スペース宣言を正規化形式で含めることを推奨しています。
セキュリティー上の理由から、WebSphere Application Server はデフォルトで、その接頭部を
Web サービス・セキュリティーのデジタル・シグニチャーに含めています。
ただし、Web サービス・セキュリティーの一部のインプリメンテーションでは、この接頭部リストを処理できません。
WebSphere Application Server は、接頭部リストの有無にかかわらず、デジタル署名されたメッセージを処理できます。
署名済み Simple Object Access Protocol (SOAP)
メッセージが送信されたときにシグニチャー検証に失敗し、その環境で別のベンダーを使用している場合は、
このプロパティーを使用不可に設定する前に、そのインプリメンテーション用の可能性のある修正がないかそのベンダーの Web サイトを確認することをお勧めします。
このプロパティーを使用不可に設定するには、以下のステップを実行します。
- 「追加プロパティー」の下の「Canonicalization method properties」>「新規」とクリックします。
- 「プロパティー名」フィールドに、com.ibm.wsspi.wssecurity.dsig.inclusiveNamespaces プロパティーを入力します。
- 「プロパティー値」フィールドに、false 値を入力します。
- 「OK」をクリックします。
- パネル上部の「保管」をクリックして、構成を保管します。
結果
これらのステップが完了すると、サーバー・レベルまたはセル・レベルでの
ジェネレーターの署名情報が構成されます。
次の作業
コンシューマーに対しても、同様の署名情報構成を指定する必要があります。