Angepasste Sicherheitsalgorithmen implementieren

Sie können eigene Sicherheitsalgorithmen für SOAP-Sicherheitsprofile durch Implementieren angepasster Java™-Sicherheitsschnittstellen definieren, die im WSDL-Sicherheitseditor verwendet werden können. Mithilfe angepasster Sicherheitsalgorithmen können Sie proprietäre Sicherheitsalgorithmen implementieren, die die XML-Daten vor dem Senden sowie nach dem Empfangen von Nachrichteninhalten umsetzen.

Vorbereitende Schritte

Die angepasste Sicherheitsschnittstelle und die diese enthaltende JAR-Datei werden mit dem Produkt im Ordner customsecuritydefinition des Plug-ins com.ibm.rational.ttt.common.models.core bereitgestellt. Diese Schnittstellen sind zum Erstellen eigener Algorithmen erforderlich. Wenn Sie IBM® Rational Performance Tester oder IBM Rational Service Tester for SOA Quality verwenden, finden Sie unter Testausführung mit angepasstem Code erweitern weitere Informationen zum Erweitern von Testfunktionen mit Java-Code.

Vorgehensweise

  1. Erstellen Sie im Testnavigator oder Projektexplorer eine neue Java-Klasse im Projektordner des Web-Servicetests.
  2. Implementieren Sie mithilfe der folgenden Schnittstelle einen Sicherheitsalgorithmus in Java:
    /**
    * ***************************************************************
    * IBM Confidential
    * 
    * (c) Copyright IBM Corporation. 2008. Alle Rechte vorbehalten.
    * 
    * The source code for this program is not published or otherwise
    * divested of its trade secrets, irrespective of what has been
    * deposited with the U.S. Copyright Office.
    * *************************************************************** 
    * 
    */
    
    package com.ibm.rational.test.lt.models.wscore.datamodel.security.xmlsec;
    
    import java.util.Properties;
    import org.w3c.dom.Document;
    
    
    public interface ICustomSecurityAlgorithm {
    	
    	/**
    	 * The following methods can be used in both case:
    	 * Execution in the workbench and execution of the test.
    	 */
    	
    	
    	/**
    	 * Called to process de Document that is sent over a transport.
    	 * @param subject
    	 */
    	void process(Document subject);
    	/**
    	 * Called to un process a document that is received from a server.
    	 * @param subject
    	 */
    	void unProcess(Document subject);
    	
    	/**
    	 * Properties defined in the UI of the CustomSecurityAlgorithm.
    	 * @param map
    	 */
    	void setProperties(Properties map);
    	
    	/**
    	 * The following methods can only be used in terms of cast to test service interface,
    	 * or in terms of access to the previous XML  information, when the jar containing
    	 * the custom security algorithm is deployed in the performance test project. In
    	 * this case you cannot use the algorimth directly from the workbench.
    	 */
    	
    	/**
    	 * This object corresponds to the ITestExecutionService object.
    	 * This applies only to an algorithm that must link to the execution of the test.
    	 * If you plan to use this object you will need to deploy the jar containing the
    	 * implementation into your performance test project and not directly into the JRE.
    	 * 
    	 * In case of a need of the previous xml document received from the execution you can 
    	 * obtain the value using:
    	 * IDataArea area = ((ITestExecutionService)executionObject).findDataArea(IDataArea.VIRTUALUSER);
    	 *String previousXML = (String) area.get("PREVIOUS_XML"); //$NON-NLS-1$
    	 * 
    	 */
    	void setExecutionContext(Object executionObject);

    Mit der Methode process werden die XML-Daten modifiziert, bevor diese an den Server gesendet werden.

    Mit der Methode unprocess werden die XML-Daten modifiziert, nachdem diese vom Server empfangen wurden.

    Mit der Methode setProperties werden sämtliche Eigenschaften abgerufen, die für diese angepasste Sicherheitsschnittstelle im Sicherheitseditor definiert sind.

    Die Methode setExecutionContext wird während des Tests mit dem Objekt ITestExecutionServices aufgerufen, das der Nachricht entspricht, die diese angepasste Sicherheitsschnittstelle verwendet.

  3. Die angepasste Sicherheitsschnittstelle kann entweder im WSDL Security Editor (WSDL-Sicherheitseditor) für Web-Services oder in XML-Aufrufelementen auf der Registerkarte Lokale XML-Sicherheit verwendet werden.
    • Wenn Sie einen WSDL-Web-Service testen, klicken Sie mit der rechten Maustaste im Testnavigator oder im Projektexplorer auf die WSDL-Datei, um den WSDL-Sicherheitseditor zu öffnen. Wählen Sie die Seite Sicherheitsalgorithmus aus, und klicken Sie unter Details zum ausgewählten Stapel für Sicherheitsalgorithmen auf Hinzufügen > Angepasster Sicherheitsalgorithmus.
    • Wenn Sie einen XML-Aufruf testen, öffnen Sie das XML-Aufrufelement im Testeditor, wählen Sie die Registerkarte Lokale XML-Sicherheit aus, und klicken Sie dann auf Hinzufügen > Angepasster Sicherheitsalgorithmus.
  4. Klicken Sie im Bereich für die angepasste Sicherheit auf Klasse durchsuchen, um den Klassennamen des angepassten Sicherheitsalgorithmus auszuwählen. Beispiel: ICustomSecurityAlgorithm.
  5. Geben Sie für den angepassten Sicherheitsalgorithmus einen Algorithmennamen ein.
  6. Verwenden Sie in der Eigenschaftenliste die Optionen Hinzufügen, Entfernen oder Bearbeiten, um von der Methode setProperties in Ihrem angepassten Sicherheitsalgorithmus verwendete Eigenschaften anzugeben.

Nächste Schritte

Nachdem Sie die Sicherheitskonfiguration oder das Aufrufelement gespeichert haben, zeigt die Sicht Web-Service-Protokolldaten die Auswirkung des Sicherheitsalgorithmus auf die XML-Daten des Web-Services an.

Feedback