このセクションでは、 XML Encryption ツールを構成および適用する方法について説明します。XML Encryption ツールはセキュリティの目的で XML ドキュメントを暗号化します。
このセクションの内容:
XML Encryption ツールとは
Web サービスのトランザクション中にインターネットを介して安全にデータを送信するには、関係者以外がプライベート トランザクション データを参照できないように、セキュリティ標準を設ける必要があります。W3C が推奨する XML Encryption 標準は、 XML ドキュメントのデータの暗号化や復号化を許可するプロセスを定義しています。暗号化されるデータを指定し、データの暗号化に使用される暗号化方式またはキーについての情報を提供します。
XML Encryption ツールは、 W3C XML Encryption 標準および OASIS の WS-Security 標準をサポートします。 XML Encryption ツールは、 Web サービス トランザクションとして送信されるデータを暗号化および復号化できます。 XML ドキュメントの個別の要素を暗号化することも、ドキュメント全体を暗号化することも可能です。この機能は、複数のパートナーやエンドポイント間で実行される Web サービス トランザクションで特に役立ちます。たとえばクレジット カード トランザクションは、ユーザー名とアドレスは目に見えるが、ユーザーのクレジット カード番号は暗号化できます。
XML Encryption ツールの構成
XML Encryption ツールは、データの暗号化も復号化も可能です。ユーザーが選択した [暗号化モード] に従って、暗号化および復号化のオプションが異なります。
注意
[ツール設定] タブ
[ツール設定] タブの左ペインには、次のオプションが表示されます。
全般
[ツール設定] タブ の左ペインから [全般] を選択すると、次のオプションが選択できます。
- 暗号化 または 復号化: データを暗号化または復号化するための適切なオプション ボタンを選択します。
WS-Security Mode: SOAP メッセージの暗号化に OASIS WS-Security 1.0 を使用することを SOAtest に通知します。このオプションがオンで、かつ [SOAP ボディ/ドキュメント全体] チェックボックスがオンの場合、ボディ要素の内容が自動的に暗号化されます。 WS-Security モードは非対称暗号化方式を使用しますが、キーストアまたは明示的なキーの値は使用できません。
Asymmetric (non-WS-Security): データの暗号化に対称鍵を使用し、ブロック暗号化鍵を暗号化するのに非対称鍵を使用することを SOAtest に通知します。ユーザーは、キーストアまたは明示的なキーの値を使用することを選択できます。
Symmetric (non-WS-Security): データを直接的に暗号化するために、秘密鍵、共有鍵、対称鍵を 1 つだけ使用することを SOAtest に通知します。
キー トランスポート (キー暗号化): キーの暗号化に使用される一意なアルゴリズムを指定します。
- ダイジェスト メソッド: データ暗号化のためのメッセージ ダイジェスト アルゴリムを選択します。サポートされるアルゴリズムは SHA1、SHA256、SHA384、および SHA512 です。このオプションは、キー トランスポート(キー暗号化) オプションが RSA-OAEP に設定されている場合にだけ有効化されます。
キー ストア: キーの暗号化キーのキーストアを指定します。このメニューで利用できるキーストアは、ユーザーがテスト スイートまたはレスポンダー スイート レベルで追加したキーストアに依存します。 キーストアの追加の詳細については、 「グローバル キー ストア」を参照してください。
シンメトリック (ブロック暗号化): データの暗号化に使用される一意なアルゴリズムを指定します。
自動キー: ブロック暗号キーを自動的に生成するよう通知します。
キーストアの使用: 対称 (ブロック暗号) 鍵で使用されるキーストアを指定します。 このメニューで利用できるキーストアは、ユーザーがテスト スイートまたはレスポンダー スイート レベルで追加したキーストアに依存します。キーストアの追加の詳細については、 「グローバル キー ストア」を参照してください。
明示的なキーの値: [シンメトリック (ブロック暗号)] で選択したアルゴリズムに基づいて、明示的なキーを入力します。
WS-Security
- フォーム: 暗号化に使用するキーおよび証明書を指定するための適切なフォームを選択します。
- アクター: SOAP アクターを指定します。
- mustUnderstand= 1 の追加: 受信者がメッセージを認識し、復号化する必要があるかどうかを指定します。このオプションがオンの場合、受信者がメッセージを復号してデシリアライズする方法を知らないと SOAP Fault が返信されます。
- タイムスタンプの追加: メッセージにタイムスタンプを追加します。このオプションがオンのとき、以下のオプションが利用可能です。
- タイムスタンプに署名: タイムスタンプとともにデジタル署名を提供します。
- 有効期限の追加: [有効期間] フィールドに有効期限を入力します。
ターゲット要素
[ツール設定] 項目の左ペインで [ターゲット要素] を選択すると、[全般] 項目で [暗号化] が選択されている場合に、次のオプションが利用できます。
- SOAP ボディ/ドキュメント全体: SOAP ボディ全体または XML ドキュメント全体を暗号化します。
- XPath を指定して XML ドキュメント内の特定の要素を暗号化するために [XPath の追加] ボタン ([SOAP ボディ/ドキュメント全体] がオフの場合に利用可能) をクリックします。[XPath の追加] ボタンをクリックすると、 [選択された XPath] リストに行が表示されます。 [選択された XPath] リストは次の 2 つの列から構成されています。
- XPath 式: 暗号化したい XPath を入力できます。
ターゲット: [要素全体] または [内容のみ] のいずれかを選択できます。
[要素全体] を選択すると、 XPath 全体が暗号化されます。
[内容のみ] を選択すると、テキスト内容のみを暗号化します。
エミュレーション オプション
[ツールの設定] の左ペインから [エミュレーション オプション] を選択すると、次のオプションが選択できます。
注意
- エミュレート: 使用しているアプリケーション サーバーを選択して自動的にエミュレーション オプションを設定します。[バージョン] ドロップダウン リストからアプリケーション サーバーのバージョンも選択できます。
- エミュレート オプションを手動で設定するには、 [エミュレート] ドロップダウン リストで [Custom] を選択します。次のオプションが手動で設定できます。
- wsse URI: 使用する WS-Security 仕様の名前空間 URI を選択します。
- wsu URI: 使用する WS-Security 仕様のユーティリティ名前空間 URI を選択します。
- 署名された要素の ’Id’ 属性を修飾する: 署名された要素の Id 属性を修飾します。
- BinarySecurityToken 属性を修飾する: wsse 名前空間でバイナリ セキュリティ トークン属性を修飾します。
- BinarySecurityToken 属性値に接頭辞をつける: wsse URI でバイナリ セキュリティ トークン属性に接頭辞をつけます。
- エミュレート オプションを手動で設定するには、 [エミュレート] ドロップダウン リストで [Custom] を選択します。次のオプションが手動で設定できます。
暗号化オプション
[ツール設定] 項目の左ペインで [暗号化オプション] を選択すると、以下のオプションが利用できます。
- セキュリティ ヘッダーのレイアウト: このプロパティは、セキュリティ ヘッダーにアイテムを追加するときに、どのレイアウト ルールを適用するかを示します。次のオプションが利用可能です。
- Lax: アイテムが WSS: SOAP Message Security に準拠する順番でセキュリティ ヘッダーに追加されます。
- LaxTimestampFirst: Lax と同様ですが、セキュリティ ヘッダーの最初のアイテムは wsse:Timestamp である必要があります。
- LaxTimestampLast: Lax と同様ですが、セキュリティ ヘッダーの最後のアイテムは wsse:Timestamp である必要があります。
- Strict: アイテムは、一般的な原則「使用前の宣言」に基づく、後述の番号付けされたレイアウト ルールに従ってセキュリティ ヘッダーに追加されます。
復号化オプション
[ツール設定] 項目の左ペインで [復号化オプション] を選択すると、以下のオプションが利用できます。
注意
- 署名の検証: この設定は、 XML メッセージを復号化するときに署名の検証を実行するかどうかを指定できます。
キー ストア: 署名の検証に使用されるキーストアを指定します。このメニューで利用できるキーストアは、ユーザーがテスト スイートまたはレスポンダー スイート レベルで追加したキーストアに依存します。キーストアの追加の詳細については、 「グローバル キー ストア」を参照してください。
- すべての既知の WSS ヘッダーを復号化する: WSS ヘッダー フォーマットを復号化します。
- 特定のヘッダー フォーマットを復号化する: 特定のヘッダー フォーマットを復号化します。
[入力] タブ
[入力] タブは XML Signature Encryption ツールがスタンドアロン ツールとして追加されており、他のツールに接続されていない場合にだけ使用できます。[入力] タブでは次のオプションが使用できます。
- テキスト: XML 文書を UIに書き込んだりコピーしたりする場合に選択します。適切な [MIME タイプ] を選択し、[テキスト] ラジオボタンの下のテキスト フィールドに XML を入力してください。
- ファイル: 既存のファイルを使用する場合、このオプションを選択します。[ファイル システム] をクリックしてファイルを選択します。
ファイルへのパスを、現在のコンフィギュレーション ファイルからの相対パスとして保存したい場合、[相対パスで保存] をオンにします。このオプションをオンにすると、複数マシンでのテストの共有が容易になります。このオプションが無効な場合、テストスイートまたはレスポンダー スイートでこのファイルへのパスは絶対パスとして保存されます。
使用上の注意
XML Encryption ツールは、スタンドアロン ツールとしてテスト スイート レベルで使用できます。それには、メインのテスト スイート ノードを右クリックしてショートカット メニューから [新規追加] > [テスト] を選択し、表示されたダイアログで XML Encryption を選択します。 また、 XML Encryption ツールを他のツールに連結できます。任意のツール ノードを右クリックしてショートカット メニューから [出力の追加] を選択します。ダイアログが開くので [XML Encryption] を選択します。ツールは変換された XML を使用するようになります。
XML Encryption ツールと XML Signer ツールをメッセージング ツールに連結し、メッセージの暗号化と XML 署名の両方を実行できます。 XML Signer ツールのより詳しい情報については、 「XML Signer」を参照してください。
Edit ツールや Browse ツールといった、任意のツールを XML Encryption ツールに連結できます。任意の XML Encryption ツール ノードを右クリックして、ショートカット メニューから [出力の追加] を選択します。ダイアログが開くので連結するツールを選択します。
Unlimited Strength Java Cryptography Extension
重要
関連するチュートリアル
以下のチュートリアルでこのツールの使い方を説明しています。