クライアントおよびプロバイダーのアプリケーション固有バインディングを使用した、XML デジタル署名用のポリシー・セットおよびバインディングの構成

XML デジタル署名を使用して、要求または応答 SOAP メッセージの本文に署名するためのカスタム・ポリシー・セットおよびアプリケーション固有のバインディングを作成できます。

始める前に

構成しているサービス・プロバイダーとクライアントは、JaxWSServicesSamples アプリケーション内になければなりません。 このアプリケーションの取得およびインストール方法について詳しくは、『サンプルへのアクセス』を参照してください。

サーバーで以下のトレース仕様を使用して、今後発生する可能性のある構成の問題をデバッグできます。
*=info:com.ibm.wsspi.wssecurity.*=all:com.ibm.ws.webservices.wssecurity.*=all: 
com.ibm.ws.wssecurity.*=all: com.ibm.xml.soapsec.*=all: com.ibm.ws.webservices.trace.*=all: 
com.ibm.ws.websvcs.trace.*=all:com.ibm.ws.wssecurity.platform.audit.*=off:

このタスクについて

XML デジタル署名と WS-Security 制約のみを使用するように WS-Security ポリシー・セットを構成し、XML デジタル署名アプリケーション固有カスタム・バインディングをクライアントとプロバイダー用に構成します。

この手順で使用する鍵ストアは、WebSphere® Application Server traditional に用意されているもので、作成されるすべてのプロファイルにインストールされます。 構成で ${USER_INSTALL_ROOT} 変数を直接使用すると、完全修飾パスを使用しなくても、鍵ストアの場所を簡便に指すことができます。${USER_INSTALL_ROOT} は、c:/WebSphere/AppServer/profiles/AppSrv01 などのパスに解決されます。

${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-sender.ks
${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-receiver.ks
JaxWSServicesSamples の性質により、ポリシー・セットとバインディングをこのアプリケーションに適用するには、管理コンソールで、「アプリケーション」>「アプリケーション・タイプ」>「WebSphere エンタープライズ・アプリケーション」>「JaxWSServicesSamples」とクリックします。独自のアプリケーションを使用する場合は、以下のパスを代替手段として使用して、ポリシー・セットおよびバインディングの関連付けの対象となるプロバイダーおよびクライアントにアクセスすることができます。
* Services > Service Providers > (AppName)
* Services > Service clients > (AppName)
トラブルの回避 (Avoid trouble) トラブルの回避 (Avoid trouble): 管理コンソールにおいて、トークン・コンシューマーとトークン生成プログラムの名前には十分に注意してください。起動側と受信側のトークンに対する状態が、予想と異なる可能性もあります。表の「使用法」列は、トークンがコンシューマー・トークンか生成プログラム・トークンかを示します。gotcha

手順

  1. カスタム・ポリシー・セットを作成します。
    1. 管理コンソールで、「サービス」>「ポリシー・セット」>「アプリケーション・ポリシー・セット」とクリックします。
    2. 「新規」をクリックします。
    3. Name=AsignPolicy と指定します。
    4. 適用」をクリックします。
    5. 「ポリシー」の下で、「追加」>「WS-Security」とクリックします。
  2. カスタム・ポリシー・セットを編集して、暗号化とタイム・スタンプを削除します。
    1. 管理コンソールで、「WS-Security」>「メイン・ポリシー」とクリックします。
    2. 「メッセージ・レベルの保護」の下で、「要求メッセージ・パーツ保護」をクリックします。
    3. 「app_encparts」をクリックします。
    4. 削除」をクリックします。
    5. 「完了」をクリックします。
    6. 「応答メッセージ・パーツの保護」をクリックします。
    7. 「app_encparts」をクリックします。
    8. 削除」をクリックします。
    9. 「完了」をクリックします。
    10. 「セキュリティー・ヘッダー内にタイム・スタンプを組み込みます」を選択解除します。
    11. 適用」をクリックします。
    12. 構成を保存します。
  3. AsignPolicy ポリシー・セットを使用するようクライアントを構成します。
    1. 管理コンソールで、「アプリケーション」>「アプリケーション・タイプ」>「WebSphere エンタープライズ・アプリケーション」>「JaxWSServicesSamples」>「サービス・クライアントのポリシー・セットおよびバインディング」とクリックします。
    2. Web サービス・クライアント・リソース (JaxWSServicesSamples) を選択します。
    3. 「ポリシー・セットの関連付け」をクリックします。
    4. 「AsignPolicy」を選択します。
  4. クライアントのカスタム・バインディングを作成します。
    1. Web サービス・リソースをもう一度選択します。
    2. 「バインディングの割り当て」を選択します。
    3. 新規のアプリケーション固有バインディング」 をクリックして、アプリケーション固有のバインディングを作成します。
    4. バインディング構成の名前を指定します。

      name: clientBinding

    5. 「追加」> 「WS-Security」をクリックします。
    6. 「メイン・メッセージ・セキュリティー・ポリシーのバインディング」パネルが表示されない場合は、「WS-Security」を選択します。
  5. クライアントのカスタム・バインディングを構成します。
    1. 証明書ストアを構成します。
      1. 「鍵と証明書」をクリックします。
      2. 「証明書ストア」の下で、「新規のインバウンド...」をクリックします。
      3. name=clientCertStore と指定します。
      4. Intermediate X.509 certificate=${USER_INSTALL_ROOT}/etc/ws-security/samples/intca2.cer と指定します。
      5. 「OK」をクリックします。
    2. トラスト・アンカーを構成します。
      1. 「トラスト・アンカー」の下で、「新規」をクリックします。
      2. name=clientTrustAnchor と指定します。
      3. 「外部鍵ストア」をクリックします。
      4. Full path=${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-sender.ks と指定します。
      5. Password=client と指定します。
      6. 「OK」をクリックします。
      7. このページのナビゲーションで、「WS-Security」をクリックします。
    3. シグニチャー生成プログラムを構成します。
      1. 「認証と保護」>「AsymmetricBindingInitiatorSignatureToken0」(シグニチャー生成プログラム) とクリックし、「適用」をクリックします。
      2. 「コールバック・ハンドラー」をクリックします。
      3. Keystore=custom と指定します。
      4. 「カスタム鍵ストア構成」をクリックし、以下のように指定します。
        • Full path==${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-sender.ks
        • Keystore password=client
        • Name=client
        • Alias=soaprequester
        • Password=client
      5. 「OK」「OK」「OK」とクリックします。
    4. シグニチャー・コンシューマーを構成します。
      1. 「AsymmetricBindingRecipientSignatureToken0」(シグニチャー・コンシューマー) をクリックして、「適用」をクリックします。
      2. コールバック・ハンドラー」をクリックします。
      3. 「証明書」の下で、「証明書ストア」ラジオ・ボタンをクリックし、以下のように指定します。
        • Certificate store=clientCertStore
        • Trusted anchor store=clientTrustAnchor
      4. 「OK」をクリックしてから、「OK」をクリックします。
    5. 要求の署名情報を構成します。
      1. 「request:app_signparts」をクリックして、Name=clientReqSignInfo と指定します。
      2. 「署名鍵情報」の下で、「新規」をクリックして、以下のように指定します。
        • Name=clientReqSignKeyInfo
        • Type=Security Token reference
        • Token generator or consumer name=AsymmetricBindingInitiatorSignatureToken0
      3. 「OK」をクリックしてから、「適用」をクリックします。
      4. 「メッセージ・パーツ参照」の下で、「request:app_signparts」を選択します。
      5. 編集」をクリックします。
      6. 「変換アルゴリズム」の下で、「新規」をクリックします。
      7. URL=http://www.w3.org/2001/10/xml-exc-c14n# と指定します。
      8. 「OK」「OK」「OK」とクリックします。
    6. 応答の署名情報を構成します。
      1. 「response:app_signparts」をクリックして、Name=clientRespSignInfo と指定します。
      2. 適用」をクリックします。
      3. 「署名鍵情報」の下で、「新規」をクリックして、以下のように指定します。
        • Name=clientRspSignKeyInfo
        • Token generator or consumer name=AsymmetricBindingRecipientSignatureToken0
      4. OK」をクリックします。
      5. 「署名鍵情報」の下で、「clientRspSignKeyinfo」をクリックして、「追加」をクリックします。
      6. 「メッセージ・パーツ参照」の下で、「response:app_signparts」を選択します。
      7. 編集」をクリックします。
      8. 「変換アルゴリズム」の下で、「新規」をクリックします。
      9. URL=http://www.w3.org/2001/10/xml-exc-c14n# と指定します。
      10. 「OK」「OK」「OK」とクリックします。
  6. AsignPolicy ポリシー・セットを使用するようにプロバイダーを構成します。
    1. 管理コンソールで、「アプリケーション」>「アプリケーション・タイプ」>「WebSphere エンタープライズ・アプリケーション」>「JaxWSServicesSamples」>「サービス・プロバイダーのポリシー・セットおよびバインディング」とクリックします。
    2. Web サービス・プロバイダー・リソース (JaxWSServicesSamples) を選択します。
    3. 「ポリシー・セットの関連付け」をクリックします。
    4. 「AsignPolicy」を選択します。
  7. プロバイダーのカスタム・バインディングを作成します。
    1. Web サービス・プロバイダー・リソースをもう一度選択します。
    2. 「バインディングの割り当て」を選択します。
    3. 新規のアプリケーション固有バインディング」 をクリックして、アプリケーション固有のバインディングを作成します。
    4. Bindings configuration name:providerBinding と指定します。
    5. 「追加」> 「WS-Security」をクリックします。
    6. 「メイン・メッセージ・セキュリティー・ポリシーのバインディング」パネルが表示されない場合は、「WS-Security」を選択します。
  8. プロバイダーのカスタム・バインディングを構成します。
    1. 証明書ストアを構成します。
      1. 「鍵と証明書」をクリックします。
      2. 「証明書ストア」の下で、「新規のインバウンド...」をクリックします。
      3. 指定:
        • Name=providerCertStore
        • Intermediate X.509 certificate=${USER_INSTALL_ROOT}/etc/ws-security/samples/intca2.cer
      4. 「OK」をクリックします。
    2. トラスト・アンカーを構成します。
      1. 「トラスト・アンカー」の下で、「新規...」をクリックします。
      2. Name=providerTrustAnchor と指定します。
      3. 「外部鍵ストア」をクリックし、以下のように指定します。
        • Full path=${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-receiver.ks
        • Password=server
      4. 「OK」をクリックし、このページのナビゲーションで「WS-Security」をクリックします。
    3. シグニチャー生成プログラムを構成します。
      1. 「認証と保護」>「AsymmetricBindingRecipientSignatureToken0」(シグニチャー生成プログラム) とクリックし、「適用」をクリックします。
      2. 「コールバック・ハンドラー」をクリックします。
      3. Keystore=custom と指定します。
      4. 「カスタム鍵ストア構成」をクリックし、以下のように指定します。
        • Full path=${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-receiver.ks
        • Keystore password=server
        • Name=server
        • Alias=soapprovider
        • Password=server
      5. 「OK」「OK」「OK」とクリックします。
    4. シグニチャー・コンシューマーを構成します。
      1. 「AsymmetricBindingInitiatorSignatureToken0」(シグニチャー・コンシューマー) をクリックして、「適用」をクリックします。
      2. コールバック・ハンドラー」をクリックします。
      3. 「証明書」の下で、「証明書ストア」ラジオ・ボタンをクリックし、以下のように指定します。
        • Certificate store=providerCertStore
        • Trusted anchor store=providerTrustAnchor
      4. 「OK」をクリックします。
      5. このページのナビゲーションで、「認証と保護」をクリックします。
    5. 要求の署名情報を構成します。
      1. 「request:app_signparts」をクリックして、Name=reqSignInf と指定します。
      2. 適用」をクリックします。
      3. 「署名鍵情報」の下で、「新規」をクリックして、以下のように指定します。
        • Name=reqSignKeyInfo
        • Token generator or consumer name=AsymmetricBindingInitiatorSignatureToken0
      4. OK」をクリックします。
      5. 「署名鍵情報」の下で、「reqSignKeyinfo」をクリックして、「追加」をクリックします。
      6. 「メッセージ・パーツ参照」の下で、「request:app_signparts」をクリックします。
      7. 編集」をクリックします。
      8. 「変換アルゴリズム」の下で、「新規」をクリックして、URL=http://www.w3.org/2001/10/xml-exc-c14n# と指定します。
      9. 「OK」「OK」「OK」とクリックします。
    6. 応答の署名情報を構成します。
      1. 「response:app_signparts」をクリックして、Name=rspSignInfo と指定します。
      2. 適用」をクリックします。
      3. 「署名鍵情報」の下で、「新規」をクリックして、以下のように指定します。
        • Name=rspSignKeyInfo
        • Type=Security Token reference
        • Token generator or consumer name=AsymmetricBindingRecipientSignatureToken0
      4. 「OK」をクリックしてから、「適用」をクリックします。
      5. 「メッセージ・パーツ参照」の下で、「response:app_signparts」を選択します。
      6. 編集」をクリックします。
      7. 「変換アルゴリズム」の下で、「新規」をクリックします。
      8. URL=http://www.w3.org/2001/10/xml-exc-c14n# と指定します。
      9. 「OK」「OK」「OK」とクリックします。
  9. 保存」をクリックして、構成変更を保存します。
  10. クライアントとプロバイダーを再始動します。
    1. クライアントとプロバイダーを停止します。
    2. クライアントとプロバイダーを再始動します。
  11. サービスをテストします。
    1. Web ブラウザーで、JaxWSServicesSamples にアクセスします。
      http://localhost:9080/wssamplesei/demo
      トラブルの回避 (Avoid trouble) トラブルの回避 (Avoid trouble): プロファイルが同じマシン上にない場合、またはポートが 9080 でない場合は、必ず正しいホスト名とポートを指定してください。gotcha
    2. 「Message Type Synchronous Echo」を選択します。
    3. 「SOAP 1.2 の使用 (Use SOAP 1.2)」が選択されていないことを確認します。
    4. メッセージを入力し、「メッセージの送信 (Send Message)」をクリックします。
    サンプル・アプリケーションが JAXWS==>Message で応答するはずです。

トピックのタイプを示すアイコン タスク・トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_xmlds_policyset
ファイル名:twbs_xmlds_policyset.html