キーワードによる生成プログラム・セキュリティー制約への機密性のためのタイム・スタンプの追加

このタスクを使用して、タイム・スタンプを特定の要素に組み込むことと、 要素を暗号化することを指定します。 以下のステップを実行して、要求ジェネレーターまたは応答ジェネレーターのいずれかの生成プログラム・セキュリティー制約を構成する際に、 キーワードを使用して機密性のためのタイム・スタンプを指定します。 要求ジェネレーターはクライアント向けに、応答ジェネレーターはサーバー向けに、それぞれ構成されます。以下のステップでは、ステップ 2 でクライアント・サイドの拡張機能、 またはステップ 3 でサーバー・サイドの拡張機能のいずれかを構成する必要があります。
  1. ウィンドウ」>「パースペクティブを開く」>「J2EE」の順にクリックします。
  2. オプション: 「プロジェクト・エクスプローラー」ウィンドウを使用してクライアント・サイドの拡張機能を検索します。 「Client Deployment Descriptor」ウィンドウが表示されます。 この Web サービスには、ユーザーが構成する必要のある拡張機能が含まれています。 以下のステップを実行して、クライアント・サイドの拡張機能を検索します。
    1. 「Web サービス」>「クライアント」セクションの順に展開して、 Web サービスの名前をダブルクリックします。
    2. WS Extension」タブをクリックして、「Request Generator Configuration」セクションを展開します。
  3. オプション: 「プロジェクト・エクスプローラー」ウィンドウを使用して、サーバー・サイドの拡張機能を検索します。 「Web Services Editor」ウィンドウが表示されます。 この Web サービスには、ユーザーが構成する必要のある拡張機能が含まれています。 以下のステップを実行して、サーバー・サイドの拡張機能を検索します。
    1. 「Web サービス」>「サービス」セクションの順に展開して、 Web サービスの名前をダブルクリックします。
    2. 拡張機能」タブをクリックして、「Response Generator Service Configuration Details」セクションを展開します。
  4. 「機密性」セクションを展開します。 機密性は暗号化に関連し、保全性はデジタル署名に関連します。機密性は、ネットワークを通過するメッセージが第三者に傍受されるリスクを軽減します。機密性仕様により、 メッセージは送信前に暗号化され、正当な宛先で受信されると暗号化解除されます。 暗号化について詳しくは、XML 暗号化を参照してください。
  5. 追加」をクリックして、機密性のためのタイム・スタンプを指定します。 「機密性」ダイアログ・ウィンドウが表示されます。 以下のステップを実行して、機密性構成を指定します。
    1. 「Confidentiality Name」フィールドで機密性要素の名前を指定します。 例えば、conf_tmstmp を指定します。
    2. 「Order」フィールドで順序を指定します。 この値は、暗号化を処理する順序を指定するもので、正の整数にする必要があります。順序の値に 1 を指定すると、その暗号化が最初に実行されます。
  6. 「Timestamp」セクションで、「追加」をクリックして、タイム・スタンプのダイアレクトを選択します。 http://www.ibm.com/websphere/webservices/wssecurity/dialect-was というダイアレクトは、 キーワードを使用して暗号化されるメッセージ・パーツを指定します。 このダイアレクトを選択すると、「Timestamp keyword heading」の下で以下のキーワードのいずれかを選択できます。
    bodycontent
    メッセージのユーザー・データ部分を指定します。このキーワードを選択すると、タイム・スタンプが Simple Object Access Protocol (SOAP) メッセージ本文に組み込まれ、 本文が暗号化されます。
    usernametoken
    ユーザー名やパスワードなどの、基本認証情報が含まれるユーザー名トークンを指定します。通常、ユーザー名トークンは、ユーザー情報を保護するために暗号化されています。 このキーワードを選択すると、timestamp 要素が username トークン要素に組み込まれ、この要素が暗号化されます。
    digestvalue
    固有のダイジェスト値を指定します。Simple Object Access Protocol (SOAP) メッセージのパーツに署名がある場合は、 固有のダイジェスト値が作成されるので、受信側はその値を使用してメッセージの保全性を確認します。 digestvalue 要素を暗号化して、ダイジェスト値を保護することができます。 このキーワードを選択すると、タイム・スタンプが digestvalue 要素に組み込まれ、この要素が暗号化されます。
  7. 「Timestamp expires」フィールドにタイム・スタンプの有効期限の時間を指定します。 タイム・スタンプは、リプレイ・アタックを防御するために役立ちます。 期間の字句表記は、以下のような [ISO 8601] の拡張形式 PnYnMnDTnHnMnS です。
    P
    日時の値の前に付けられます。
    nY
    タイム・スタンプの有効年数を表します。 0 から 99 年までの値を選択します。
    nM
    タイム・スタンプの有効月数を表します。 0 から 11 カ月までの値を選択します。
    nD
    タイム・スタンプの有効日数を表します。 0 から 30 日までの値を選択します。
    T
    日付と時刻の値を区切ります。
    nH
    タイム・スタンプの有効時間数を表します。 0 から 23 時間までの値を選択します。
    nM
    タイム・スタンプの有効分数を表します。 0 から 59 分までの値を選択します。
    nS
    タイム・スタンプの有効秒数を表します。 秒数には、任意の精度の 10 進数を指定できます。 秒数には 0 から 59 までの値、10 分の 1 の秒数には 0 から 9 までの値を、それぞれ選択できます。

    例えば、1 年、2 カ月、3 日、10 時間、30 分は、 P1Y2M3DT10H30M と表されます。 一般に、メッセージのタイム・スタンプは 10 から 30 分の間で構成します。 例えば、10 分は P0Y0M0DT0H10M0S と表されます。

  8. 「Message Parts」セクションで「追加」をクリックし、 「Message parts dialect」フィールドで http://www.ibm.com/websphere/webservices/wssecurity/dialect-was を選択します。
  9. 「Message Parts」セクションで、メッセージ・パーツのキーワードを選択します。
    重要: 機密性のためのタイム・スタンプを指定するためには、 「Message Parts」セクションに少なくとも 1 つのメッセージ・パーツを定義する必要があります。 メッセージ・パーツを選択する際は、タイム・スタンプの親要素のほかに、メッセージ・パーツを暗号化します。
  10. OK」をクリックして、構成の変更を保管します。
    注: これらのコンシューマーと生成プログラムの構成は一致していなければなりません。
例えば、次の例は、SOAP メッセージの一部です。このメッセージでは、bodycontent 要素にタイム・スタンプが挿入され、bodycontent キーワードと http://www.ibm.com/websphere/webservices/wssecurity/dialect-was ダイアレクトを使用してその要素が暗号化されます。
重要: 暗号化されているため、タイム・スタンプはメッセージには表示されません。
<soapenv:Body soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
   <EncryptedData Id="wssecurity_encryption_id_4349704672508984224" Type=
    "http://www.w3.org/2001/04/xmlenc#Content" xmlns="http://www.w3.org/2001/04/xmlenc#">
      <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc"/>
         <CipherData>            
            <CipherValue>IxSuTmF1vAygF/SBLCd8bgu8opPiwHmroIBLzZbENGr9JpxhSFt/0fV0sFun0uxg/
             h/Y+1erE+NaysREuL+E9AQm0lxALNEdBX9zpeVf+ZffUCSzZfXXe9iosQlPe9jG7yTp+rhZGdp/KOp
             26c3DZXCNDr0Wgz31wn3KNm6bGO6RmBzahEOSW8d0wR999DeqSpOY12d8iWJa3HZ8gnGnineCiZ3wr
             Hy9rOC58iijcsNv1fP3lExuA5WkHra6rndhbi8P7jDMhkzf4Odj2yy1M3XURWalOLNYhNJ9YaWACsaY
             CY2ukcKtzw==</CipherValue>
        </CipherData>
   </EncryptedData>
</soapenv:Body>
暗号化するメッセージ・パーツを指定した後、 メッセージの署名の暗号化に使用する方式を指定する必要があります。 詳しくは、生成プログラム・バインディングの暗号化情報の構成を参照してください。
関連タスク
XPath 式による生成プログラム・セキュリティー制約への機密性のための nonce の追加
生成プログラム・バインディングの暗号化情報の構成
キーワードによる生成プログラム・セキュリティー制約への機密性のための nonce の追加

フィードバック