キーワードによるコンシューマー・セキュリティー制約内のメッセージ要素への署名

以下のステップを実行して、応答コンシューマーまたは要求コンシューマーのいずれかのコンシューマー・セキュリティー制約を構成する際に、 どのメッセージ・パーツまたは要素に署名する必要があるかを指定します。 応答コンシューマーはクライアント向けに、要求コンシューマーはサーバー向けに、それぞれ構成されます。必要なパーツに署名されていないと、要求や応答が拒否され、 呼び出し元に Simple Object Access Protocol (SOAP) 障害が戻されます。 以下のステップでは、ステップ 2 でクライアント・サイドの拡張機能、 またはステップ 3 でサーバー・サイドの拡張機能のいずれかを構成する必要があります。
  1. ウィンドウ」>「パースペクティブを開く」>「J2EE」の順にクリックします。
  2. オプション: 「プロジェクト・エクスプローラー」ウィンドウを使用してクライアント・サイドの拡張機能を検索します。 「Client Deployment Descriptor」ウィンドウが表示されます。 この Web サービスには、ユーザーが構成する必要のある拡張機能が含まれています。
    1. 「Web サービス」>「クライアント」セクションの順に展開して、 Web サービスの名前をダブルクリックします。
    2. WS Extension」タブをクリックして、「Response Consumer Configuration」セクションを展開します。
  3. オプション: 「プロジェクト・エクスプローラー」ウィンドウを使用して、サーバー・サイドの拡張機能を検索します。 「Web Services Editor」ウィンドウが表示されます。 この Web サービスには、ユーザーが構成する必要のある拡張機能が含まれています。
    1. 「Web サービス」>「サービス」セクションの順に展開して、 Web サービスの名前をダブルクリックします。
    2. 拡張機能」タブをクリックして、「Request Consumer Service Configuration Details」セクションを展開します。
  4. 「Required Integrity」セクションを展開します。 機密性が暗号化を指すのに対して、保全性はデジタル・シグニチャーを指します。 保全性によって、ネットワーク間でデータを送信する際にデータが変更されるリスクが軽減されます。 Simple Object Access Protocol (SOAP) メッセージへのデジタル署名について詳しくは、 XML デジタル・シグニチャーを参照してください。
  5. 追加」をクリックして、コンシューマーが、 どのメッセージ・パーツまたは要素に署名するかを指示します。 「Required Integrity」ダイアログ・ウィンドウが表示されます。
    1. 「Required Integrity Name」フィールドの下の保全性要素の名前を指定します。
    2. 「Usage type」フィールドで使用タイプを指定します。 このフィールドには、保全性要素の要件を指定します。 以下のオプションが使用可能です。
      Required
      Required」を選択した場合に必要なメッセージ・パーツや要素が署名されていないと、 メッセージは SOAP 障害を伴って拒否されます。
      Optional
      Optional」を選択すると、 署名済みの場合には、選択したメッセージ・パーツや要素のデジタル・シグニチャーが検査されます。 ただし、選択されたメッセージ・パーツまたは要素が署名されていない場合、 コンシューマーはメッセージを拒否しません。
  6. 「Message Parts」セクションの下の「追加」をクリックして、 メッセージ・パーツのダイアレクトを選択します。 http://www.ibm.com/websphere/webservices/wssecurity/dialect-was というダイアレクトは、 キーワードを使用してどのメッセージ・パーツや要素に署名するかを指定します。 このダイアレクトを選択すると、「Message parts keyword heading」の下で以下のキーワードのいずれかを選択できます。
    body
    メッセージのユーザー・データ部分を指定します。このキーワードを選択すると、本文が署名済みであるかどうかがチェックされます。
    timestamp
    メッセージ内の独立した timestamp 要素のデジタル・シグニチャーをチェックすることを指定します。 timestamp 要素は、メッセージが送信され、その後受信された時刻に基づいて、 メッセージが有効であるかどうかを判別します。 timestamp オプションを選択する場合は、 メッセージ内に独立した timestamp 要素があることを確認してください。 そのような要素が存在しない場合は、コンシューマー・セキュリティー制約への独立したタイム・スタンプの追加を参照してください。
    securitytoken
    セキュリティー・トークンがクライアントを認証することを指定します。 このキーワードを選択すると、SOAP メッセージ内のセキュリティー・トークン (複数可) がチェックされて、 それらが署名済みであるかどうかが判別されます。例えば、メッセージ内の UsernameToken 要素を送信する場合は、 このキーワードを使用してその要素に署名することを指定できます。
    dsigkey
    デジタル・シグニチャーに使用する鍵情報要素をチェックして、 それが署名済みであるかどうかを判別することを指定します。
    enckey
    暗号化に使用する鍵情報要素をチェックして、 それが署名済みであるかどうかを判別することを指定します。
    messageid
    メッセージ内の <wsa:MessageID> 要素をチェックして、 それが署名済みであるかどうかを判別することを指定します。
    to
    メッセージ内の <wsa:To> 要素をチェックして、 それが署名済みであるかどうかを判別することを指定します。
    action
    <wsa:Action> 要素をチェックして、それが署名済みであるかどうかを判別することを指定します。
    relatesto
    メッセージ内の <wsa:RelatesTo> 要素をチェックして、それが署名済みであるかどうかを判別することを指定します。
  7. OK」をクリックして、構成の変更を保管します。
    注: これらのコンシューマーと生成プログラムの構成は一致している必要があります。
デジタル・シグニチャーをチェックするメッセージ・パーツを指定した後、 どの署名アルゴリズムを使用して署名を検証するかを指定する必要があります。 詳しくは、コンシューマー・バインディングの署名情報の構成を参照してください。
関連概念
XML デジタル・シグニチャー
関連タスク
コンシューマー・セキュリティー制約への独立したタイム・スタンプの追加
XPath 式によるコンシューマー・セキュリティー制約への保全性のためのタイム・スタンプの追加
XPath 式によるコンシューマー・セキュリティー制約への保全性のための nonce の追加
コンシューマー・バインディングの署名情報の構成

フィードバック