WSSDecryptPart API を使用した暗号化解除パーツの追加

構成用ポリシー・セットを使用しなくても、Web Services Security API (WSS API) を使用することで SOAP メッセージをセキュアにすることができます。 暗号化解除パーツを応答コンシューマー (クライアント側) バインディング用に構成するには、 WSSDecryptPart API を使用して定義し、暗号化解除パーツのエレメントのリストに追加します。 WSSDecryptPart は、com.ibm.websphere.wssecurity.wssapi.decryption パッケージの一部であるインターフェースです。

始める前に

新規暗号化パーツを構成および追加するには、WSS API を使用することも、管理コンソールでポリシー・セットを構成することもできます。 WSSDecryptPart API を使用して SOAP メッセージをセキュアにするには、 暗号化解除パーツを応答コンシューマー・バインディング用に構成する必要があります。

このタスクについて

機密性設定では、生成されたメッセージに機密性の制約が適用される必要があります。 これらの制約には、暗号化および暗号化解除する必要がある、生成メッセージ内のメッセージ・パーツを指定することと、暗号化されたエレメントの付加先のメッセージ・パーツを指定することも含まれます。

WSSDecryptPart API では、暗号化解除に関連した情報を指定し、メッセージ機密性の保護用に追加されている暗号化解除パーツを設定します。 WSSDecryptPart を使用して、変換方式の設定と、変換方式の適用先であるパーツの指定を行います。 変換方式は、SOAP with Attachments を使用する場合にのみ設定します。 WSSDecryptPart は、変換方式の設定などのタスクの場合を除き、通常は必要ありません。

メッセージの機密性を保護するために、次の表に表示される暗号化解除パーツが使用されます。

表 1. 暗号化解除パーツ. これらの暗号化解除パーツを使用して、メッセージを保護します。
暗号化解除パーツ 説明
keyword

キーワードを使用して暗号化解除パーツを設定します。 キーワードを使用して追加できるデフォルトの暗号化解除パーツは、 BODY_CONTENT と SIGNATURE です。 WebSphere® Application Server は、 以下のキーワードをサポートしています。

  • BODY_CONTENT
  • SIGNATURE
  • USERNAME_TOKEN
xpath XPath 式を使用して暗号化解除パーツを設定します。
verification WSSVerification コンポーネントを暗号化解除パーツとして設定します。

WSSVerification パーツは、SOAP メッセージにシグニチャー・エレメントが含まれている場合にのみ適用されます。

header ヘッダー (QName で指定する) を暗号化解除パーツとして設定します。

暗号化解除パーツでは、ある決まったデフォルトの動作が行われます。 WSSDecryptPart API を使用する一番簡単な方法は、デフォルトの動作を使用することです (サンプル・コードを参照)。

WSSDecryptPart は、変換アルゴリズムの設定、変換方式の追加、ターゲットとしてのオブジェクトの追加、エレメントであるかどうか、および暗号化パーツ (SOAP 本体の内容、シグニチャーなど) のデフォルトを提供します。

表 2. 暗号化解除パーツの決定. 暗号化解除パーツのいくつかの特性は、デフォルトで構成されます。
暗号化解除の決定 デフォルトの動作
キーワードを使用して暗号化解除する SOAP メッセージ・パーツ

暗号化解除パーツ用に使用するキーワードを指定します。 WebSphere Application Server は、暗号化解除のためにデフォルトで以下の SOAP メッセージ・パーツを設定します。

  • WSSDecryption.BODY_CONTENT
  • WSSDecryption.SIGNATURE
使用する変換アルゴリズム (アルゴリズム)

WebSphere Application Server は、デフォルトでは変換アルゴリズムを何も指定しません。SOAP with Attachments を使用する場合のみ、変換方式を指定します。

手順

  1. WSSDecryptPart API を使用して SOAP メッセージを暗号化解除するには、 最初に、アプリケーション・サーバーがインストールされていることを確認します。
  2. WSSDecryptPart を使用した WSS API プロセスでは、以下のステップを実行します。
    1. WSSFactory.getInstance() を使用して WSS API 実装インスタンスを取得します。
    2. WSSFactory インスタンスから WSSConsumingContext インスタンスを作成します。 WSSConsumingContext は、常に JAX-WS クライアント・アプリケーションで呼び出す必要があるので注意してください。
    3. WSSFactory から SecurityToken を作成して、暗号化解除を構成します。
    4. SecurityToken を使用して WSSFactory インスタンスから WSSDecryption を作成します。
    5. WSSFactory インスタンスから WSSDecryptPart を作成します。 WSSDecryptPart のデフォルトの動作は、本体の内容とシグニチャーが暗号化されていることを想定することです。
    6. WSSDecryptPart の変換を使用して暗号化解除および適用するパーツを追加します。 WebSphere Application Server は、 WSSDecryptPart のために、デフォルトで暗号化パーツ BODY_CONTENT および SIGNATURE を設定します。他の暗号化解除パーツを追加した後では、これらのデフォルト値は無効になります。 例えば、addDecryptPart(securityToken, false) を呼び出す場合、 セキュリティー・トークンのみが暗号化され、シグニチャーと本体の内容は暗号化されません。したがって、 セキュリティー・トークン、シグニチャー、および本体の内容を暗号化解除する場合は、 addDecryptPart(securityToken, false)、addDecryptPart(WSSDecryption.SIGNATURE)、 および addDecryptPart(WSSDecryption.BODY_CONTENT) を呼び出す必要があります。
    7. 変換方式を設定します。
    8. WSSDecryptPart を WSSDecryption に追加します。
    9. WSSDecryption を WSSConsumingContext に追加します。
    10. SOAPMessageContext を使用して WSSConsumingContext.process() を呼び出します。

タスクの結果

メッセージを暗号化解除する際にエラー条件があると、WSSException が発生します。 正常な場合、API が WSSConsumingContext.process() を呼び出し、WS-Security ヘッダーが生成され、さらに SOAP メッセージが Web Services Security を使用して保護されます。

次のタスク

応答コンシューマー (クライアント側) バインディング用の暗号化解除パーツを使用可能にした後、 セキュリティー・トークンがまだ指定されていなければ、ジェネレーター・トークンとコンシューマー・トークンを指定します。


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



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