Implementazione di un algoritmo di sicurezza personalizzato

È possibile definire gli algoritmi di sicurezza per i profili di sicurezza SOAP mediante l'implementazione delle interfacce Java™ di sicurezza personalizzate che è possibile utilizzare nell'editor di sicurezza WSDL. Con gli algoritmi di sicurezza personalizzati, è possibile implementare gli algoritmi di sicurezza esclusivi che convertono il file XML prima di inviarlo e dopo averlo ricevuto dal contenuto del messaggio.

Prima di iniziare

L'interfaccia di sicurezza personalizzata e il file JAR contenuto vengono forniti con il prodotto nella cartella customsecuritydefinition del plug-in com.ibm.rational.ttt.common.models.core. Per creare i propri algoritmi sono necessarie queste interfacce. Se si sta utilizzando IBM® Rational Performance Tester o IBM Rational Service Tester for SOA Quality, consultare Estensione esecuzione test con il codice personalizzato per ulteriori informazioni sull'estensione delle capacità di test con il codice Java.

Procedura

  1. In Test Navigator o Esplora progetto, creare una nuova classe Java nella cartella di progetto per il test del servizio web.
  2. Implementare un algoritmo di sicurezza in Java utilizzando la seguente interfaccia:
    /**
    * ***************************************************************
    * Informazioni riservate della IBM
    * 
    * (c) Copyright IBM Corporation. 2008. Tutti i diritti riservati.
    * 
    * Il codice sorgente di questo programma non è pubblicato o in altro modo
    * privato di informazioni commerciali riservate, a prescindere da ciò che è stato
    * depositato con 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 {
    	
    	/**
    	 * In entrambi i casi, è possibile utilizzare i seguenti metodi:
    	 * L'esecuzione nel workbench e l'esecuzione del test.
    	 */
    	
    	
    	/**
    	 * Chiamati per elaborare un documento che viene inviato su un trasporto.
    	 * @param subject
    	 */
    	void process(Document subject);
    	/**
    	 * Chiamato per annullare l'elaborazione di un documento ricevuto da un server.
    	 * @param subject
    	 */
    	void unProcess(Document subject);
    	
    	/**
    	 * Proprietà definite nell'interfaccia utente di CustomSecurityAlgorithm.
    	 * @param map
    	 */
    	void setProperties(Properties map);
    	
    	/**
    	 * I seguenti metodi possono essere solo utilizzati in termini di cast sull'interfaccia del servizio di test
    	 * o in termini di accesso alle precedenti informazioni XML, quando il file jar contenente
    	 * l'algoritmo di sicurezza personalizzato viene distribuito nel progetto del test delle prestazioni. In
    	 * tal caso, non è possibile utilizzare l'algoritmo direttamente dal workbench.
    	 */
    	
    	/**
    	 * Questo oggetto corrisponde all'oggetto ITestExecutionService.
    	 * Si applica solo ad un algoritmo che deve collegarsi all'esecuzione del test.
    	 * Se si desidera utilizzare questo oggetto, occorrerà distribuire il file jar che contiene
    	 * l'implementazione nel progetto del test delle prestazioni e non direttamente in JRE.
    	 * 
    	 * Nel caso in cui sia necessario il documento xml precedente ricevuto dall'esecuzione, è possibile 
    	 * ottenere il valore utilizzando:
    	 * IDataArea area = ((ITestExecutionService)executionObject).findDataArea(IDataArea.VIRTUALUSER);
    	 *String previousXML = (String) area.get("PREVIOUS_XML"); //$NON-NLS-1$
    	 * 
    	 */
    	void setExecutionContext(Object executionObject);

    Il metodo process modifica il file XML prima che sia inviato al server.

    Il metodo unprocess modifica il file XML una volta ricevuto dal server.

    Il metodo setProperties richiama le proprietà che sono definite nell'editor di sicurezza per questa interfaccia di sicurezza personalizzata.

    Il metodo setExecutionContext viene richiamato durante il test con l'oggetto ITestExecutionServices che corrisponde al messaggio utilizzando questa interfaccia di sicurezza personalizzata.

  3. È possibile utilizzare l'interfaccia di sicurezza personalizzata nell'editor di sicurezza WSDL per i servizi web o negli elementi di chiamata XML nella scheda Sicurezza XML locale.
    • Se si effettua un test su un servizio web basato su WSDL, fare clic con il tasto destro del mouse sul file WSDL nel Test Navigator o in Esplora progetto per aprire l'editor di sicurezza WSDL, selezionare la pagina Algoritmi di sicurezza; quindi, in Dettagli dello stack algoritmo di sicurezza selezionato, fare clic su Aggiungi > Algoritmo di sicurezza personalizzato.
    • Se si effettua un test su una chiamata XML, aprire l'elemento di chiamata XML nell'editor di test, selezionare la scheda Sicurezza XML locale e poi fare clic su Aggiungi > Algoritmo di sicurezza personalizzato
  4. Nella sicurezza personalizzata, fare clic su Seleziona classe per selezionare il nome di classe dell'algoritmo di sicurezza personalizzato, ad esempio: ICustomSecurityAlgorithm.
  5. Immettere il Nome algoritmo per l'algoritmo di sicurezza personalizzato.
  6. Nell'elenco delle proprietà, utilizzare Aggiungi, Rimuovi o Modifica per specificare le proprietà utilizzate dal metodo setProperties nell'algoritmo di sicurezza personalizzato.

Operazioni successive

Una volta salvata la configurazione di sicurezza o l'elemento di chiamata, la vista Dati protocollo del servizio Web visualizza l'effetto dell'algoritmo di sicurezza sui dati XML del servizio web.

Feedback