標準の Web サービスに対するセキュリティの設定

関連: API テスト のみ

このタスクでは、標準の Web サービスに対してセキュリティを設定する方法について説明します。このモードでは、HTTP トランスポート情報とトークンなどのセキュリティ要素を定義できます。

Web サービス・シナリオを作成する

  1. 次のいずれかの方法で[セキュリティ設定]ダイアログを開きます。

    • ポート・レベルでセキュリティを設定するには、[ツールボックス]で Web サービスのポートを右クリックし、[セキュリティ設定]を選択します。

    • すでにキャンバス上にある特定の Web サービスのステップに対してセキュリティを設定するには、ステップを選択して[プロパティ]表示枠の[セキュリティ設定]タブを開きます。[ポートのセキュリティ設定の使用]オプションをクリアします。

    • SOAP 要求ステップの場合は、[プロパティ]表示枠で[セキュリティ設定]タブをクリックします。

  2. [セキュリティ設定]ダイアログ・ボックスで、[サービスの詳細]ドロップダウン・リストから[Web サービス]を選択します(標準設定)。

  3. 先頭に戻る

HTTP を設定する

[セキュリティ設定]ダイアログ・ボックスのメイン・ウィンドウで、[HTTP]タブを選択し、トランスポートとプロキシの情報を設定します。

先頭に戻る

TLS によるトランスポート・レベル・セキュリティの追加

TLS プロトコルを使用して、API テストで Web サービスを保護します。

注: Windows Server 2016 および Windows Server 2012 では TLS 1.3 はサポートされていません。

Windows OS で TLS 1.0、1.1、または 1.2 を使用して Web サービスを保護するには

  1. すでにキャンバス上に存在する Web サービスステップを選択し、[プロパティ]表示枠で[イベント]タブを開きます。

  2. [イベント]タブの[BeforeExecuteStepEvent]行で、下矢印をクリックし、[標準設定のハンドラの作成]を選択します。

    ドキュメント表示枠に[TestUserCode.cs]タブが開き、BeforeExecuteStepEvent イベント用に、コードのセクションがこのファイルに追加されます。

  3. [TestUserCode.cs]タブで、System.Net および System.Net.Security をインポートします。

    インポートされたコードは次のようになります。

  4. 括弧内の //TODO: ここにコードを追加してください... という文字列を、以下のステートメントに置き換えます。このステートメントは OpenText Functional Testing に対して TLS プロトコルの使用を指示し、使用するバージョンを指定します。

    ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls<バージョン>

    注:  

    • TLS 1.0 を指定するには、空のバージョン文字列を使用します。

    • TLS 1.1 を指定するには、バージョン文字列「11」を使用します。

    • TLS 1.2 を指定するには、バージョン文字列「12」を使用します。

Windows 10 または 11 で TLS 1.3 を使用して Web サービスを保護するには

  1. Windows 10 で API テストを実行するには、次のレジストリ・パスで、DWORD レジストリ値「Enabled」と「DisabledByDefault」を作成します。

    レジストリ・パス

    Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client

    詳細については、Microsoft のオンライン・ドキュメントの TLS、DTLS、および SSL プロトコルのバージョン設定に関するセクションを参照してください。

  2. すでにキャンバス上に存在する Web サービスステップを選択し、[プロパティ]表示枠で[イベント]タブを開きます。

  3. [イベント]タブの[BeforeExecuteStepEvent]行で、下矢印をクリックし、[標準設定のハンドラの作成]を選択します。

    ドキュメント表示枠に[TestUserCode.cs]タブが開き、BeforeExecuteStepEvent イベント用に、コードのセクションがこのファイルに追加されます。

  4. [TestUserCode.cs]タブで、System.Net および System.Net.Security をインポートします。

    インポートされたコードは次のようになります。

  5. 括弧内の //TODO: ここにコードを追加してください... という文字列を、以下のステートメントに置き換えます。このステートメントは OpenText Functional Testing に対して TLS プロトコルの使用を指示します。

    ServicePointManager.SecurityProtocol = SecurityProtocolType.SystemDefault;

    注: TLS のバージョンを直接指定するのではなく、SystemDefault を使用することをお勧めします。

先頭に戻る

ユーザ名トークンを使用してメッセージ・レベルのセキュリティを追加する

メッセージ・レベルのユーザ名/パスワード・トークン(ユーザ名トークン)を送信するには、次の手順を実行します。

  1. [セキュリティ設定]ダイアログ・ボックスで、[サービスの詳細]ドロップダウン・リストから、[Web サービス]シナリオを選択します。

  2. [セキュリティ設定]ダイアログ・ボックスのメイン・パートで、[WS-Security]タブをクリックします。

  3. [WS-Security]タブで、[セキュリティ トークンの追加ボタンをクリックし、[ユーザ名]トークンを追加します。

  4. 下の表示枠で、トークンの詳細(ユーザ名、パスワードなど)をカスタマイズします。

先頭に戻る

X.509 証明書を使用した署名でメッセージ・レベルのセキュリティを追加する

  1. [セキュリティ設定]ダイアログ・ボックスで、[サービスの詳細]ドロップダウン・リストから[Web サービス]シナリオを選択します。

  2. [セキュリティ設定]ダイアログ・ボックスのメイン・パートで、[WS-Security]タブをクリックします。

  3. [WS-Security]タブで、[セキュリティ トークンの追加]ボタンをクリックし、ドロップダウン・リストから[X509 証明書]を選択します。

  4. 下の表示枠でトークン名を入力します。

  5. 参照]ボタンをクリックして、証明書ファイルを指定します。証明書は、Windows 証明書ストアにインストールされているはずです。

  6. 参照タイプ]を選択します。このトークンは署名に使用されるため、最も一般的なタイプは BinarySecurityToken です。

  7. メッセージ署名の追加]ボタンをクリックします。

  8. 署名トークン]ドロップダウン・リストで、前の手順で入力したトークンを選択します。

  9. 特定の要素で証明書に署名するには、[XPath]フィールドが表示されるまで下方向にスクロールして、XPath 式を指定します。

    XPath 式を使用して、SOAP 要求のセキュリティ要素の下にあるタイムスタンプ、またはトークンに署名することはできません。

    • SOAP 本文タイムスタンプ、または WS-Addressing に署名するには、定義済みのパーツ領域でチェックボックスを選択します。

    • セキュリティ要素内でトークンに署名するには、[署名する項目]領域の[トークン (オプション)]フィールドでトークンを選択します。

    注: Windows 証明書ストアに証明書をインストールする必要があります。前述の例では、証明書の実際のストア名、ストアの場所、およびサブジェクト名を設定する必要があります。

先頭に戻る

証明書を使用して Web サービス・メッセージを暗号化する

サービス証明書を使用してメッセージを暗号化するには、次の手順を実行します。

  1. [セキュリティ設定]ダイアログ・ボックスで、[サービスの詳細]ドロップダウン・リストから[Web サービス]シナリオを選択します。

  2. [セキュリティ設定]ダイアログ・ボックスのメイン・パートで、[WS-Security]タブを選択します。

  3. [WS-Security]タブで、[セキュリティ トークンの追加]ボタンをクリックし、[セキュリティ トークン]ドロップダウン・リストから適切なトークンを選択します。

  4. トークン名を入力し、トークンまたは証明書のプロパティを設定します。

  5. メッセージ暗号化の追加]ボタンをクリックします。ドロップダウン・リストで、前の手順で作成したトークンを選択します。

  6. XPath]フィールドが表示されるまで下方向にスクロールします。暗号化する要素の Xpath 式を入力します。例:// *[local-name(.)='Body']

先頭に戻る

ユーザ名トークンを送信して X.509 証明書でトークンを暗号化する

次の項では、ユーザ名トークンをサービスに送信する方法と、サーバの X.509 証明書を使用してそのトークンを暗号化する方法について説明します。

  1. [セキュリティ設定]ダイアログ・ボックスで、[サービスの詳細]ドロップダウン・リストから[Web サービス]シナリオを選択します。

  2. [セキュリティ設定]ダイアログ・ボックスのメイン・パートで、[WS-Security]タブを選択します。

  3. [WS-Security]タブで、[セキュリティ トークンの追加]ボタンをクリックし、[セキュリティ トークン]ドロップダウン・リストから[ユーザ名トークン]を選択します。

  4. 下の表示枠で、ユーザ名トークンの詳細を指定します。

  5. セキュリティ トークンの追加]ボタンを再度クリックし、[セキュリティ トークンドロップダウン・リストから[X509 証明書トークン]を選択します。

  6. 下の表示枠で、サーバの公開証明書を参照するように、トークンの詳細を入力します。このトークンは暗号化に使用されるため、Reference を[参照タイプ]として使用します。

  7. メッセージ暗号化の追加]ボタンをクリックします。ドロップダウン・リストで、前の手順で作成した X.509 トークンを選択します。

  8. 特定のメッセージを暗号化するには、[XPath]フィールドが表示されるまで下方向にスクロールします。// *[local-name(.)='Body'] のように XPath 式を入力します。

先頭に戻る

WS-Addressing を設定する(オプション)

  1. [セキュリティ設定]ダイアログ・ボックスのメインの表示枠で、[WS-Addressing]タブをクリックします。

  2. [WS-Addressing]タブで、該当するバージョンを選択するか、WS-Addressing を使用しない場合は[なし]を選択します。

  3. 返信先]フィールドで、代替の返信先を指定します。

先頭に戻る