Implementando um Algoritmo de Segurança Customizada

É possível definir seus próprios algoritmos de segurança para os perfis de segurança SOAP ao implementar as interfaces Java™ de segurança customizada que podem ser usadas no editor de segurança WSDL. Com os algoritmos de segurança customizados, é possível implementar os algoritmos de segurança do proprietário que transformam o XML antes de enviar e depois de receber o conteúdo da mensagem.

Antes de Iniciar

A interface de segurança customizada e o arquivo JAR que a contém são fornecidos com o produto na pasta customsecuritydefinition do plug-in com.ibm.rational.ttt.common.models.core. Você precisa dessas interfaces para criar seus próprios algoritmos. Se você estiver usando o IBM® Rational Performance Tester ou o IBM Rational Service Tester for SOA Quality, consulte Estendendo a execução de teste com código customizado para obter mais informações sobre como estender as capacidades de teste com código Java.

Procedimento

  1. No navegador de teste ou no explorador de projetos, crie uma nova classe Java na pasta de projeto de teste de serviço da web.
  2. Implemente um algoritmo de segurança em Java utilizando a seguinte interface:
    /**
    * ***************************************************************
    * Confidencial IBM
    * 
    * (c) Copyright IBM Corporation. 2008. Todos os Direitos Reservados.
    * 
    * O código fonte deste programa não é publicado ou, por outro lado,
    * privado de seus segredos comerciais, independentemente do que tenha sido
    * consolidado no Copyright Office dos Estados Unidos.
    * *************************************************************** 
    * 
    */
    
    package com.ibm.rational.test.lt.models.wscore.datamodel.security.xmlsec;
    
    import java.util.Properties;
    import org.w3c.dom.Document;
    
    
    public interface ICustomSecurityAlgorithm {
    	
    	/**
    	 * Os seguintes métodos podem ser utilizados nos dois casos:
    	 * Execução no ambiente de trabalho e execução do teste.
    	 */
    	
    	
    	/**
    	 * Chamado para processar o Documento enviado por meio de transporte.
    	 * @param subject
    	 */
    	void process(Document subject);
    	/**
    	 * Chamado para cancelar o processo de um documento recebido de um servidor.
    	 * @param subject
    	 */
    	void unProcess(Document subject);
    	
    	/**
    	 * Propriedades definidas na UI do CustomSecurityAlgorithm.
    	 * @param map
    	 */
    	void setProperties(Properties map);
    	
    	/**
    	 * Os métodos a seguir podem ser utilizados apenas com relação a difusão para testar a interface de serviço,
    	 * ou com relação a acesso das informações XML anteriores, quando o jar que contém
    	 * o algoritmo de segurança customizado é implementado no projeto de teste de desempenho. Nesse
    	 * caso, não é possível utilizar o algoritmo diretamente do ambiente de trabalho.
    	 */
    	
    	/**
    	 * Esse objeto corresponde ao objeto ITestExecutionService.
    	 * Isso aplica-se apenas a um algoritmo que deva ser vinculado à execução do teste.
    	 * Se você planeja utilizar esse objeto, precisará implementar o jar que contém a
    	 * implementação em seu projeto de teste de desempenho e não diretamente no JRE.
    	 * 
    	 * No caso de precisar do documento XML anterior recebido da execução, você poderá 
    	 * obter o valor utilizando:
    	 * IDataArea area = ((ITestExecutionService)executionObject).findDataArea(IDataArea.VIRTUALUSER);
    	 *String previousXML = (String) area.get("PREVIOUS_XML"); //$NON-NLS-1$
    	 * 
    	 */
    	void setExecutionContext(Object executionObject);

    O método process modifica o XML antes de ele ser enviado ao servidor.

    O método unprocess modifica o XML depois de ele ser recebido do servidor.

    O método setProperties recupera as propriedades definidas no editor de segurança dessa interface de segurança customizada.

    O método setExecutionContext é chamado durante o teste com o objeto ITestExecutionServices correspondente à mensagem, utilizando essa interface de segurança customizada.

  3. A interface de segurança customizada pode ser utilizada no editor de segurança WSDL de serviços da web ou em elementos de chamada XML na guia Segurança XML Local.
    • Se você estiver testando um serviço da web baseado em WSDL, clique com o botão direito do mouse no arquivo WSDL no Navegador de Teste ou no Explorador de Projetos para abrir o editor de segurança WSDL, selecione a página Algoritmos de Segurança; em seguida, em Detalhes da pilha de algoritmos de segurança selecionada, clique em Incluir > Algoritmo de Segurança Customizada.
    • Se estiver testando uma chamada XML, abra o elemento de chamada XML no editor de teste, selecione a guia Segurança XML Local e, em seguida, clique em Incluir > Algoritmo de Segurança Customizada
  4. Em Segurança Customizada, clique em Procurar Classe para selecionar o nome da classe do algoritmo de segurança customizada, por exemplo: ICustomSecurityAlgorithm.
  5. Digite um Nome de algoritmo para o algoritmo de segurança customizada.
  6. Na lista de propriedades, utilize Incluir, Remover ou Editar para especificar qualquer propriedade utilizada pelo método setProperties no algoritmo de segurança customizada.

O que Fazer Depois

Depois de salvar a configuração de segurança ou o elemento de chamada, a visualização Dados do Protocolo de Serviço da Web exibe o efeito do algoritmo de segurança nos dados XML do serviço da web.

Feedback