WebSphere Application Server Version 6.1 Feature Pack for Web Services   
             オペレーティング・システム: AIX , HP-UX, i5/OS, Linux, Solaris, Windows, Windows Vista, z/OS

             目次と検索結果のパーソナライズ化
             New or updated topic for this feature pack

WSS API を使用した、コンシューマー・バインディングの シグニチャー情報の確認

クライアント・サイドの応答コンシューマー (受信側) バインディングの署名情報を 構成することができます。署名情報は、SOAP 本体、 タイム・スタンプ情報、およびユーザー名トークンなど、メッセージの各パーツの 署名および検証に使用されます。

始める前に

WebSphere Application Server は、既存のアルゴリズム (RSA、HMAC、 および SHA1 など) を使用した XML デジタル・シグニチャーを使用します。 XML Signature は、鍵情報を記述するための多くのメソッドを定義し、 新規メソッドの定義を使用可能にします。以下のステップを実行する前に、XML デジタル・シグニチャーに関する情報に 目を通して、デジタル・コンテンツに対するデジタル・シグニチャーの署名と検証について 十分理解しておいてください。

XML Signature を SOAP メッセージに組み込むことにより、 メッセージの保全性と認証が実現されます。機密性が暗号化を意味するのに対して、 保全性 はデジタル・シグニチャーを意味します。保全性は、データがインターネットに伝送中に、そのデータが変更されるリスクを低減させます。

シグニチャーと SOAP メッセージの署名済みパーツを検証するためには、 その前に以下のタスクを完了している必要があります。

このタスクについて

バインディング・ファイルの応答コンシューマー (クライアント・サイド) セクションで、 署名検証情報を構成するには、Web サービス・セキュリティー API (WSS API) を 使用します。要求シグニチャー検証用にクライアントを構成し、検証するデジタル署名済み メッセージ・パーツを指定するには、WSSVerification API または WSSVerifyPart API を 使用します。

WebSphere Application Server は、コンシューマー側の 署名情報を使用して、メッセージ・パーツ (本体、タイム・スタンプ、 ユーザー名トークンなど) が署名されていることを確認することによって、 受信した SOAP メッセージの保全性を検証します。

クライアント・サイドでは、 WSS API を使用するか、管理コンソールからポリシー・セットを構成することで、 署名するメッセージ・パーツを指定し、鍵情報参照が参照する鍵情報を 構成します。シグニチャーと署名済みパーツを検証するには、 WSSVerification API および WSSVerifyPart API を使用します。

WebSphere Application Server には、バインディングのデフォルト値が用意されています。 しかし、管理者は実稼働環境に合わせて デフォルトを変更する必要があります。

WSSVerification API および WSSVerifyPart API は、 以下のステップを実行して、クライアントを応答コンシューマー署名用に構成するときに確認する デジタル署名済みメッセージ・パーツを指定します。

プロシージャー

  1. WSSVerification API は、SOAP メッセージの必要な検証パーツを 追加します。

    このパーツ参照は、デジタル署名されるメッセージ・パーツを参照します。 パーツ属性は、<PartReference> エレメントがシグニチャーに対して指定されている場合、 <Integrity> エレメントの名前を参照します。 <SigningInfo> エレメント内で、複数の <PartReference> エレメントを指定することができます。 <PartReference> エレメントがシグニチャーに対して指定されている場合、このエレメントには <DigestTransform> および <Transform> という 2 つの子エレメントがあります。

    WSSVerification API は、以下のパーツを検証パーツとして構成します。

    表 1. 検証パーツ
    セキュリティー・トークン シグニチャー検証に使用されるセキュリティー・トークンの情報を 追加します。
    SOAP ヘッダーおよび QName (ターゲットとして) SOAP ヘッダー (QName で指定) を検証パーツとして 追加します。
    WSS API では、キーワードまたは XPath 式を使用することで、 検証するメッセージ・パーツを指定できます。WebSphere Application Server で 使用できるキーワードは次のとおりです。
    キーワード 参照
    WSSVerification.ADDRESSING_HEADERS Web Services Addressing (WS-Addressing) のヘッダー。
    WSSVerification.BODY SOAP メッセージ本体。これは、メッセージのユーザー・データ部分です。
    WSSVerification.TIMESTAMP 作成および有効期限のタイム・スタンプ情報。
  2. WSSVerification API は、SOAP メッセージに必要なヘッダーを追加します。 このヘッダー (QName で指定) は、検証ヘッダーとして必須です。
  3. WSSVerification API はセキュリティー・トークンを追加します。 シグニチャー検証に使用されるセキュリティー・トークンの情報を追加します。 例えば次のような情報です。
    • セキュリティー・トークンのクラス
    • コールバック・ハンドラー
    • JAAS ログイン構成の名前
  4. WSSVerification API は、シグニチャー方式のアルゴリズムを追加します。 シグニチャー方式は、バインディング・ファイル内の正規化された <SignedInfo> エレメントを <SignatureValue> エレメントに変換するために使用されるアルゴリズムです。 コンシューマー (応答コンシューマー構成) 用に指定されたアルゴリズムは、 要求ジェネレーター構成用に指定されたアルゴリズムと 一致している必要があります。 WebSphere Application Server は、次の事前構成済みシグニチャー・アルゴリズムを サポートしています。

    WebSphere Application Server は、DSA-SHA1 用のアルゴリズム (http://www.w3.org/2000/09/xmldsig#dsa-sha1) は サポートしていません。Basic Security Profile (BSP) に準拠する場合は、 DSA-SHA1 アルゴリズムは使用できません。

  5. WSSVerification API は正規化方式を追加します。 正規化方式アルゴリズムは、デジタル・シグニチャー操作の一部として取り込まれる前に、 <SignedInfo> エレメントを正規化するために使用されます。 ジェネレーター用にユーザーが指定する正規化アルゴリズムは、 コンシューマー用のアルゴリズムと一致している必要があります。

    WebSphere Application Server は、以下の事前構成された正規化アルゴリズムをサポートします。

  6. WSSVerification API は、シグニチャーの確認が必要かどうかを 検証します。 OASIS Web サービス・セキュリティー (WS-Security) バージョン 1.1 仕様では、シグニチャー確認の使用を定義しています。WS-Security バージョン 1.0 を 使用している場合は、この機能は使用できません。

    シグニチャー確認の値は 保管されて、受信メッセージが戻された後のシグニチャー確認の検証に 使用されます。このメソッドが呼び出されるのは、 応答メッセージが SOAP メッセージにシグニチャー確認を添付すると 予想される場合です。

  7. WSSVerifyPart API はダイジェスト方式を追加します。 署名情報の各パーツ参照について、この API はダイジェスト方式アルゴリズムと 変換アルゴリズムの両方を指定します。

    WebSphere Application Server は、 次の事前構成済みダイジェスト・アルゴリズムをサポートしています。

    • WSSVerifyPart.SHA1: http://www.w3.org/2000/09/xmldsig#sha1
    • WSSVerifyPart.SHA256: http://www.w3.org/2001/04/xmlenc#sha256
    • WSSVerifyPart.SHA512: http://www.w3.org/2001/04/xmlenc#sha512
  8. WSSVerifyPart API は変換方式を追加します。 署名情報の各パーツ参照について、この API はダイジェスト方式アルゴリズムと 変換アルゴリズムの両方を指定します。

    WebSphere Application Server は、 以下の事前構成済み変換アルゴリズムをサポートします。

    • WSSVerifyPart.TRANSFORM_EXC_C14N (the default value): http://www.w3.org/2001/10/xml-exc-c14n#
    • WSSVerifyPart.TRANSFORM_XPATH2_FILTER: http://www.w3.org/2002/06/xmldsig-filter2
    • WSSVerifyPart.TRANSFORM_STRT10: http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#STR-Transform
    • WSSVerifyPart.TRANSFORM_ENVELOPED_SIGNATURE: http://www.w3.org/2000/09/xmldsig#enveloped-signature

    WSS API の場合、WebSphere Application Server は以下のアルゴリズムは サポートしません。

    • http://www.w3.org/2002/07/decrypt#XML
    • http://www.w3.org/TR/1999/REC-xpath-19991116

    コンシューマー用の変換アルゴリズムは、ジェネレーター用の変換アルゴリズムと 一致している必要があります。

結果

これで、バインディング・ファイルのクライアント・サイドの応答コンシューマー・セクションの 署名情報を構成するためのステップが完了しました。

次の例は、シグニチャーを検証し、X.509 トークン・タイプを セキュリティー・トークンとして検証するための WSS API サンプル・コードです。

WSSFactory factory = WSSFactory.getInstance();
WSSConsumingContext concont = factory.newWSSConsumingContext();
// Generate the X.509 Callback Handler on the consumer side
    X509ConsumeCallbackHandler callbackhandler = generateCallbackHandler(); 

WSSVerification ver = factory.newWSSVerification(X509Token.class, 
                                                 callbackhandler);
concont.add(ver);

次の作業

ジェネレーター・バインディングに対する署名情報がまだ構成されていない場合には、 同様の構成を指定してください。

構成済みであれば、次は、 暗号化情報および暗号化解除情報を構成するか、コンシューマー・トークンおよびジェネレーター・トークンを 構成します。




関連概念
XML デジタル・シグニチャー
関連タスク
WSSVerification API によるシグニチャーの検証
WSSVerifyPart API を使用した署名済みパーツの検証
twbs_confwssverifyalgorithms.html
WSS API を使用してメッセージの保全性を保護するための コンシューマー署名情報の検証
関連資料
WSSVerification API を使用したシグニチャー検査方式
WSSVerifyPart API を使用した検査パーツ方式の選択
タスク・トピック    

ご利用条件 | フィードバック

最終更新: Jan 21, 2008 4:10:06 PM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.wsfep.multiplatform.doc/info/ae/ae/twbs_configsigninfoconjaxws.html