Métodos de Partes Assinadas que Utilizam a WSSSignPart API

É possível configurar as informações sobre partes assinadas para a ligação do gerador que utiliza a WSS API. Os algoritmos incluem os métodos de compilação e transformação.

É possível proteger a integridade da mensagem configurando as informações chave e de partes assinadas. A integridade refere-se à assinatura digital, enquanto que a confidencialidade refere-se à criptografia. A integridade diminui o risco de modificação de dados quando você transmite dados pela rede.

Métodos

Métodos que são utilizados para as partes assinadas incluem:
Método de Compilação
Configura o método do algoritmo de compilação.
Algoritmo de Transformação
Configura o método do algoritmo de transformação.

Algoritmos de Compilação

O algoritmo do método de compilação especificado no elemento é utilizado no elemento. O WebSphere Application Server suporta os seguintes algoritmos pré-configurados:

Tabela 1. Métodos de Compilação de Partes Assinadas. Os métodos são usados para as partes assinadas.
Método de Compilação Description
WSSSignPart.SHA1 (o valor padrão) Um URI do algoritmo de compilação, SHA1: http://www.w3.org/2000/09/xmldsig#sha1
WSSSignPart.SHA256 Um URI do algoritmo de compilação, SHA256: http://www.w3.org/2001/04/xmlenc#sha256
WSSSignPart.SHA512 Um URI do algoritmo de compilação, SHA256: http://www.w3.org/2001/04/xmlenc#sha512

Algoritmos de Transformação

O algoritmo do método de transformação especificado no elemento é utilizado no elemento. O WebSphere Application Server suporta os seguintes algoritmos pré-configurados:

Tabela 2. Métodos de Transformação de Partes Assinadas. Os métodos são usados para as partes assinadas.
Método de Compilação Description
WSSSignPart.TRANSFORM_ENVELOPED_SIGNATURE Um URI do algoritmo de transformação, assinatura envelopada: http://www.w3.org/2000/09/xmldsig#enveloped-signature
WSSSignPart.TRANSFORM_STRT10 Um URI do algoritmo de transformação, STR-Transform: http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#STR-Transform
WSSSignPart.TRANSFORM_EXC_C14N (o valor padrão) Um URI do algoritmo de transformação, Exc-C14N: http://www.w3.org/2001/10/xml-exc-c14n#
WSSSignPart.TRANSFORM_XPATH2_FILTER Um URI do algoritmo de transformação, filtro XPath2: http://www.w3.org/2002/06/xmldsig-filter2

O algoritmo de transformação é especificado dentro do elemento <Transform> e especifica o algoritmo de transformação para a parte assinada.

Para WSS APIs, o WebSphere Application Server não suporta os seguintes algoritmos de transformação:
  • http://www.w3.org/TR/1999/REC-xpath-19991116
  • http://www.w3.org/2002/07/decrypt#XML

O exemplo a seguir fornece o código de amostra da WSS API para especificar a assinatura e as partes assinadas, configurando a chave de assinatura e incluindo o algoritmo de transformação STR-Transform como partes assinadas:

	  //obter o contexto da mensagem
	  Object msgcontext = getMessageContext();
	  
	  //gerar a instância do WSSFactory 
	  WSSFactory factory = WSSFactory.getInstance();		
	  	  
	  //gerar a instância do WSSGenerationContext 
	  WSSGenerationContext gencont = factory.newWSSGenerationContext();
		
	  //gerar o manipulador de retorno de chamada
	  X509GenerateCallbackHandler callbackHandler = new 
         X509GenerateCallbackHandler(
			  "",
			  "dsig-sender.ks",
			  "jks", 
			  "client".toCharArray(), 
			  "soaprequester", 
			  "client".toCharArray(), 
			  "CN=SOAPRequester, OU=TRL, O=IBM, ST=Kanagawa, C=JP", 
			  null);
	  
	  //gerar o token de segurança utilizado para a assinatura  
	  SecurityToken token = factory.newSecurityToken(X509Token.class, 
        callbackHandler);

	  //gerar a instância do WSSSignature
	  WSSSignature sig = factory.newWSSSignature(token);
	  
	  //configurar a parte especificada por WSSSignPart  
	  WSSSignPart sigPart = factory.newWSSSignPart();

	  //configurar a parte especificada por WSSSignPart
	  sigPart.setSignPart(WSSSignature.BODY);

	  //configura o método de compilação especificado por WSSSignPart 
	  sigPart.setDigestMethod(WSSSignPart.SHA256);

	  //configura o método de transformação especificado por WSSSignPart  
	  sigPart.addTransform(WSSSignPart.TRANSFORM_STRT10);

	  //configurar a parte especificada por WSSSignPart 
	  sig.addSignPart(sigPart);
	  
	  //incluir WSSSignature no WSSGenerationContext  
	  gencont.add(sig);
		
	  //gerar o cabeçalho WS-Security  
	  gencont.process(msgcontext);

Ícone que indica o tipo de tópico Tópico de Referência



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rwbs_wsssignpartalgorithms
Nome do arquivo: rwbs_wsssignpartalgorithms.html