このセクションでは、 XML Signer ツールを構成および適用する方法について説明します。 XML Signer ツールは、セキュリティのために XML 文書に署名するツールです。
このセクションの内容:
Web サービスのトランザクション中にインターネットを介してデータを安全に送信するには、セキュリティ標準を導入して、トランザクション中の各ユーザーが互いに相手を特定できるようにする必要があります。 W3C が推奨する XML Signature 規格は、 XML 文書中のあらゆるデータにデジタル署名をするプロセスを定義しています。XML Signature によって、 Web サービスのユーザーはトランザクションに関わる他のユーザーのアイデンティティを検証したり、 XML 文書の署名後にデータが変更されていないことを保証したりできます。OASIS は SOAP でこの規格が使用できるよう、この規格を活用します。
SOAtest の XML Signer ツールは、 W3C の XML Signature 標準をサポートします。ユーザーは XML Signer ツールを使って、 Web サービス トランザクションとして送信されるデータにデジタル署名できます。 XML Signer ツールでは、 XML 文書の個々の要素に署名することも、 XML 文書全体に署名することもできます。 この機能は、複数のパートナーやエンドポイント間で実行される Web サービス トランザクションで特に役立ちます。たとえば、 Web サービスを介して自動車を購入するトランザクションがあるものとします。この場合、購入者、融資担当者、および販売主が文書中のそれぞれの箇所に署名する必要があります。
[ツール設定] タブの左ペインには、次のオプションが表示されます。
[全般] では以下のオプションを設定できます。
キー ストア: | 自分のアイデンティティを証明し XML データに署名するキーストアを、 [キーストア] ドロップダウン メニューから選択します。このメニューで利用できるキーストアは、ユーザーがテスト スイートまたはレスポンダー スイート レベルで追加したキーストアに依存します。キーストアの追加の詳細については、 「グローバル テスト スイート プロパティの追加 (SOAtest)」および「グローバル テスト スイート プロパティの追加 (Virtualize)」を参照してください。 |
---|---|
アルゴリズム | 証明書キーを定義するのに使用する一意なアルゴリズムを指定します。 |
ダイジェスト メソッド | データ署名のためのメッセージ ダイジェスト アルゴリムを選択します。 |
正規形式 | 署名されている情報の正規化形式を作成するのに使用するアルゴリズムを指定します。 |
KeyInfo の形式 | KeyInfo は署名の中のオプション要素です。署名を検証するのに必要な公開鍵情報を含みます。POX または SAML (WS-Security モードはオフ) で Enveloped 署名をする場合にのみ適用されます。 KeyInfo要素の中に含めるオプションを選択してください。次のオプションが利用可能です。
|
WS-Security モード: | このモードをオンにすると、 SOAtest は OASIS WS-Security に準じて SOAP メッセージに署名します。 OASIS 標準のバージョンは [Emulation Options Settings] で設定します。 デフォルトでは、 [Target Elements Settings] で設定されたすべての SOAP ボディのコンテンツに自動で署名されます。このモードがオフのとき、 SOAtest はターゲット要素に Enveloped 署名をします。 [セキュリティ ヘッダーのレイアウト] ドロップダウン メニューから設定を選択して、WS-Security ヘッダーにアイテムを追加するときに、どのレイアウト ルールを適用するかを指定します。次のいずれかを選択できます。
STR Dereference Transform (STRDT) アルゴリズムを使ってセキュリティ トークン参照 (STR) を参照することで署名に自動的にセキュリティ トークンを含めるには、[STR Dereference Transform (STRDT) を使用してセキュリティ トークンに署名する] を有効にします。デフォルトでは、署名は KeyInfo 要素の署名で自動生成された STR を参照します。別の STR (たとえばセキュリティ ヘッダーからの STR) を参照する場合は、ターゲット要素の設定で STR を含めてください。 |
SAML 署名を行う | OASIS SAML トークン プロファイルに基づいて SOAP メッセージに署名する場合、または SAML アサーションに Enveloped 署名をする場合にこのオプションをオンにします。 WS-Security モードがオフの場合: Enveloped SAML 署名 は、 [Target Elements Settings] で選択した SAML アサーションに形成されます。 Holder-of-Key 方式の確立メソッドを使用する SAML アサーションは一般的に Enveloped 署名を持つべきです。 WS-Security モードがオンの場合: SOAP エンベロープは OASIS SAML トークン プロファイルに基づいて署名されます。 署名が成功するには、適切なエミュレーション オプションを選択する必要があります。
|
キーストアの使用 | リクエスターのキーストアを参照するには、このオプションを有効にします。このオプションは Holder-of-Key 方式の確立メソッドを使用する SAML アサーションにのみ適用されます。Sender-Vouches 方式の確立で典型的なように、アサーションが Enveloped 署名を持たない場合には、このオプションを無効にしてください。 WS-Security モードがオフの場合、キーストアは SAML アサーションに Enveloped 署名をする前に、ユーザーの public KeyInfo をアサーションの subject confirmation へ追加するために使用されます。アサーションがユーザーのキーを保持し、アサーション発行者によって署名されている場合、 Holder-of-Key シナリオでこれは適用可能です。 WS-Security モードがオンの場合、SOAP メッセージの署名が成功するには、次の 2 つの要件を満たす必要があります。
Holder-of-Key 方式の確立 を容易にするために、2 つの XML Singner ツールを連結できます。ひとつ目の XML Singner ツールは、ユーザーの public KeyInfo をアサーションの subject confirmation に任意で追加します。そしてアサーションに Enveloped 署名をします (WSS モードはオフ)。ふたつ目の XML Singner ツールは、 OASIS SAML トークン プロファイルに基づいた SAML アサーションを含む SOAP エンベロープに署名をします (WSS モードはオン) 。 |
[WS-Security] では以下のオプションを設定できます。
フォーム | 暗号化に使用するキーおよび証明書を指定するための適切なフォームを選択します。 |
---|---|
アクター | SOAP アクターを指定します。 |
mustUnderstand = 1 の追加: | メッセージの署名を受信側が認識して検証しなければならないかどうか。このオプションをオンにすると、受信側が署名ヘッダーの処理方法がわからない場合、 SOAP fault が返されます。 |
タイムスタンプの追加 | メッセージにタイムスタンプを追加する場合、このチェックボックスをオンにします。オンにすると、以下のオプションを設定できます。
|
SOAP ボディ/ドキュメント全体: すべての SOAP ボディまたはすべての XML 文書に署名する場合、オンにします。
XPath を指定したり、 XML 文書中の特定の要素に署名したりするには:
エミュレーション オプションの設定は、[General Settings] タブで [WS-Security モード] が選択されている場合にだけ選択できます。
エミュレート オプションを手動で設定するには、 [エミュレート] ドロップダウン メニューから [Custom] を選択します。以下のオプションが利用可能です:
[入力] タブは XML Signer ツールがスタンドアロン ツールとして追加されており、他のツールに接続されていない場合にだけ使用できます。[入力] タブでは次のオプションが使用できます。
ファイルへのパスを、現在のコンフィギュレーション ファイルからの相対パスとして保存したい場合、[相対パスで保存] をオンにします。このオプションをオンにすると、複数マシンでのテストの共有が容易になります。このオプションが無効な場合、テストまたはレスポンダーでこのファイルへのパスは絶対パスとして保存されます。
XML Signer ツールは、スタンドアロン ツールとしてツール レベルで使用できます。それには、メインのテスト スイート ノードを右クリックしてショートカット メニューから [新規追加] > [テスト] を選択し、表示されたダイアログで XML Signer を選択します。 XML Signer ツールをメッセージング ツールに接続することもできます。接続するには、対象のメッセージング ツール ノードを右クリックし、ショートカット メニューの [出力の追加] をクリックして [出力の追加] ダイアログを開きます。 [出力の追加] ダイアログで [XML Signer] を選択します。メッセージング ツールは変換された XML を使用します。
SOAP メッセージに暗号化と XML 署名の両方をするために、 XML Signer ツールと XML Encryption ツールをひとつのメッセージング ツールに接続できます。XML Encryption ツールの詳細については、 「XML Encryption」を参照してください。
XML Signer ツールには、Edit ツールや Browse ツールのような任意のツールを接続することもできます。それには、対象の XML Signer ツール ノードを右クリックし、ショートカット メニューの [出力の追加] をクリックして [出力の追加] ダイアログを開きます。 [出力の追加] ダイアログで [XML Signer] を選択します。
XML Signature Verifier ツール、 XML Signer ツール、XML Encryption ツール、またはキーストア (使用している場合) を使用して安全な操作を行うためには、 Unlimited Strength Java Cryptography Extension をダウンロードしてインストールする必要があります。詳細については 「JCE 前提条件」 を参照してください。 |
以下のチュートリアルでこのツールの使い方を説明しています。