Implementación de un algoritmo de seguridad personalizada

Puede definir sus propios algoritmos de seguridad para los perfiles de seguridad SOAP implementando interfaces de seguridad Java™ personalizadas que se pueden utilizar en el editor de seguridad WSDL. Con los algoritmos de seguridad personalizados, puede implementar los algoritmos de seguridad patentados que transforman el XML antes del envío y después de la recepción del contenido del mensaje.

Antes de empezar

La interfaz de seguridad personalizada y el archivo JAR que la contiene se proporcionan con el producto en la carpeta customsecuritydefinition del conector com.ibm.rational.ttt.common.models.core. Necesita estas interfaces para crear sus propios algoritmos. Si está utilizando IBM® Rational Performance Tester o IBM Rational Service Tester for SOA Quality, consulte la sección Ampliación de la ejecución de la prueba con código personalizado para obtener más información sobre cómo ampliar las funciones de prueba con código Java.

Procedimiento

  1. En el Navegador de pruebas o el explorador de proyectos, cree una nueva clase Java en la carpeta de proyectos de pruebas de servicio web.
  2. Implemente un algoritmo de seguridad en Java utilizando la interfaz siguiente:
    /**
    * ***************************************************************
    * IBM Confidential
    * 
    * (c) Copyright IBM Corporation. 2008. Reservados todos los derechos.
    * 
    * 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);

    El método process modifica el XML antes de enviarlo al servidor.

    El método unprocess modifica el XML después de recibirlo de servidor.

    El método setProperties recupera todas las propiedades que se han definido en el editor de seguridad para esta interfaz de seguridad personalizada.

    Durante la prueba se llama el método setExecutionContext con el objeto ITestExecutionServices que corresponde al mensaje por medio de esta interfaz de seguridad personalizada.

  3. La interfaz de seguridad personalizada se puede utilizar en el editor de seguridad WSDL para servicios web o en elementos de llamadas XML del separador Seguridad XML local.
    • Si va a probar un servicio web basado en WSDL, pulse con el botón derecho del ratón sobre el archivo WSDL en el Navegador de pruebas o el explorador de proyectos para abrir el editor de seguridad WSDL, seleccione la página Algoritmos de seguridad y, a continuación, en Detalles de la pila del algoritmo se seguridad seleccionado, pulse Añadir > Algoritmo de seguridad personalizada.
    • Si va a probar una llamada XML, abra el elemento de llamada XML en el editor de pruebas, seleccione el separador Seguridad XML local y, a continuación, pulse Añadir > Algoritmo de seguridad personalizada
  4. En la seguridad personalizada, pulse Examinar clase para seleccionar el nombre de clase del algoritmo de seguridad personalizada, por ejemplo: ICustomSecurityAlgorithm.
  5. Escriba un Nombre de algoritmo para el algoritmo de seguridad personalizada.
  6. En la lista de propiedades, utilice Añadir, Eliminar o Editar para especificar todas las propiedades que utiliza el método setProperties en el algoritmo de seguridad personalizada.

Qué hacer a continuación

Después de guardar la configuración de seguridad o el elemento de llamada, la vista Datos de protocolo de servicio web muestra el efecto del algoritmo de seguridad en los datos XML del servicio web.

Comentarios