カスタム・セキュリティー・アルゴリズムの実装

WSDL セキュリティー・エディター内で使用できるカスタム・セキュリティー Java™ インターフェースを実装して、独自の SOAP セキュリティー・プロファイル用セキュリティー・アルゴリズムを定義できます。 カスタム・セキュリティー・アルゴリズムを使用すると、メッセージ・コンテンツの送信前または 受信後に XML を変換する独自のセキュリティー・アルゴリズムを実装することができます。

始める前に

この製品では、カスタム・セキュリティー・インターフェースおよびこのインターフェースが含まれた JAR ファイルが com.ibm.rational.ttt.common.models.core プラグインの customsecuritydefinition フォルダー内に用意されています。 これらのインターフェースは、独自のアルゴリズムを作成するために必要になります。 IBM® Rational® Performance Tester または IBM Rational Service Tester for SOA Quality を使用している場合、 Java コードによるテスト機能の拡張について詳しくは、『カスタム・コードによるテストの実行の拡張』を参照してください。

手順

  1. テスト・ナビゲーターまたはプロジェクト・エクスプローラーで、新規 Java クラスを Web サービス・テストのプロジェクト・フォルダー内に作成します。
  2. 以下のインターフェースを使用して、セキュリティー・アルゴリズムを Java に実装します。
    /**
    * ***************************************************************
    * IBM Confidential
    * 
    * (c) Copyright IBM Corporation. 2008. All Rights Reserved.
    * (C) Copyright IBM Japan 2007
    * 
    * このプログラムのソース・コードは、営業機密保護のため、
    * アメリカ合衆国の著作権事務所に届け出済のものにかかわりなく、
    * 公表されていません。
    * *************************************************************** 
    * 
    */
    
    package com.ibm.rational.test.lt.models.wscore.datamodel.security.xmlsec;
    
    import java.util.Properties;
    import org.w3c.dom.Document;
    
    
    public interface ICustomSecurityAlgorithm {
    	
    	/**
    	 * 以下の各メソッドは、次の両方のケースで使用することができます。
    	 * ワークベンチ内での実行とテストの実行。
    	 */
    	
    	
    	/**
    	 * トランスポートを介して送信される文書を処理するために呼び出されます。
    	 * @param subject
    	 */
    	void process(Document subject);
    	/**
    	 * サーバーから受信した文書を処理前の状態に戻すために呼び出されます。
    	 * @param subject
    	 */
    	void unProcess(Document subject);
    	
    	/**
    	 * CustomSecurityAlgorithm の UI で定義されたプロパティー。
    	 * @param map
    	 */
    	void setProperties(Properties map);
    	
    	/**
    	 * 以下の各メソッドは、サービス・インターフェースのテストのためのキャストに関して、
    	 * またはカスタム・セキュリティー・アルゴリズムが含まれた jar が Performance Test プロジェクトに
    	 * デプロイされる場合の、前の XML 情報へのアクセスに関してしか使用できません。 この場合、
    	 * このアルゴリズムをワークベンチから直接使用することはできません。
    	 */
    	
    	/**
    	 * このオブジェクトは、ITestExecutionService オブジェクトに一致します。
    	 * このオブジェクトは、テストの実行にリンクする必要があるアルゴリズムのみに適用されます。
    	 * このオブジェクトを使用する場合は、この実装が含まれた jar を
    	 * JRE に直接ではなく、Performance Test プロジェクトにデプロイする必要があります。
    	 * 
    	 * 実行から受信された前の xml 文書が必要な場合は、 
    	 * 以下を使用して値を取得できます。
    	 * IDataArea area = ((ITestExecutionService)executionObject).findDataArea(IDataArea.VIRTUALUSER);
    	 *String previousXML = (String) area.get("PREVIOUS_XML"); //$NON-NLS-1$
    	 * 
    	 */
    	void setExecutionContext(Object executionObject);

    process メソッドでは、XML がサーバーに送信される前に XML が変更されます。

    unprocess メソッドでは、XML がサーバーから受信された後に XML が変更されます。

    setProperties メソッドでは、このカスタム・セキュリティー・インターフェース用のセキュリティー・エディター内で定義されたすべてのプロパティーが取得されます。

    setExecutionContext メソッドは、テスト時に、このカスタム・セキュリティー・インターフェースを使用して、メッセージに対応する ITestExecutionServices オブジェクトによって呼び出されます。

  3. カスタム・セキュリティー・インターフェースは、Web サービス用の WSDL セキュリティー・エディター内、または「ローカル XML セキュリティー」タブの XML 呼び出しエレメント内のいずれかで使用することができます。
    • WSDL ベースの Web サービスをテストしている場合は、テスト・ナビゲーターまたはプロジェクト・エクスプローラー内の WSDL ファイルを右クリックして WSDL セキュリティー・エディターを開き、「セキュリティー・アルゴリズム」ページを選択します。次に、「選択されたセキュリティー・アルゴリズム・スタックの詳細」の下で、「追加」 > 「カスタム・セキュリティー・アルゴリズム」をクリックします。
    • XML 呼び出しをテストしている場合は、テスト・エディター内の XML 呼び出しエレメントを開き、「ローカル XML セキュリティー」タブを選択した後、「追加」 > 「カスタム・セキュリティー・アルゴリズム」とクリックします。
  4. カスタム・セキュリティー内で「クラスの参照」をクリックして、カスタム・セキュリティー・アルゴリズムのクラス名 (例えば、ICustomSecurityAlgorithm) を選択します。
  5. カスタム・セキュリティー・アルゴリズムの「アルゴリズム名」を入力します。
  6. プロパティー・リスト内で、「追加」「除去」、または「編集」を使用して、カスタム・セキュリティー・アルゴリズム内の setProperties メソッドによって使用されるすべてのプロパティーを指定します。

次のタスク

セキュリティー構成または呼び出しエレメントを保存すると、「Web サービス・プロトコル・データ」ビューに、Web サービスの XML データに対するセキュリティー・アルゴリズムの効果が表示されます。

フィードバック