Métodos de las partes firmadas utilizando la API WSSSignPart

Puede configurar la información de las partes firmadas para el enlace del generador utilizando la API de WSS. Los algoritmos incluyen los métodos de conversión y transformación.

Puede proteger la integridad del mensaje configurando las partes firmadas y la información de claves. La integridad hace referencia a la firma digital mientras que la confidencialidad hace referencia al cifrado. La integridad disminuye el riesgo de que se modifiquen los datos mientras estos se transmiten por la red.

Métodos

Los métodos que se utilizan para las partes firmadas son:
Método de conversión
Establece el método del algoritmo de conversión.
Algoritmo de transformación
Establece el método del algoritmo de transformación.

Algoritmos de conversión

El algoritmo del método de conversión se especifica dentro del elemento que se utiliza en el elemento. WebSphere Application Server admite los algoritmos preconfigurados siguientes:

Tabla 1. Métodos de conversión de las partes firmadas. Los métodos se utilizan para las partes firmadas.
Método de conversión Descripción
WSSSignPart.SHA1 (el valor predeterminado) Un URI del algoritmo de conversión, SHA1: http://www.w3.org/2000/09/xmldsig#sha1
WSSSignPart.SHA256 Un URI del algoritmo de conversión, SHA256: http://www.w3.org/2001/04/xmlenc#sha256
WSSSignPart.SHA512 Un URI del algoritmo de conversión, SHA256: http://www.w3.org/2001/04/xmlenc#sha512

Algoritmos de transformación

El algoritmo del método de transformación se especifica dentro del elemento que se utiliza en el elemento. WebSphere Application Server admite los algoritmos preconfigurados siguientes:

Tabla 2. Métodos de transformación de las partes firmadas. Los métodos se utilizan para las partes firmadas.
Método de conversión Descripción
WSSSignPart.TRANSFORM_ENVELOPED_SIGNATURE Un URI del algoritmo de transformación, firma de envoltura: http://www.w3.org/2000/09/xmldsig#enveloped-signature
WSSSignPart.TRANSFORM_STRT10 Un URI del algoritmo de transformación, STR-Transform: http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#STR-Transform
WSSSignPart.EXC_C14N (el valor predeterminado) Un URI del algoritmo de transformación, Exc-C14N: http://www.w3.org/2001/10/xml-exc-c14n#
WSSSignPart.TRANSFORM_XPATH2_FILTER Un URI del algoritmo de transformación, filtro XPath2: http://www.w3.org/2002/06/xmldsig-filter2

El algoritmo de transformación se especifica dentro del elemento <Transform> y especifica el algoritmo de transformación de la parte firmada.

Para las API de WSS, WebSphere Application Server no se da soporte a los siguientes algoritmos de transformación:
  • http://www.w3.org/TR/1999/REC-xpath-19991116
  • http://www.w3.org/2002/07/decrypt#XML

El ejemplo siguiente proporciona el código de la API de WSS para especificar la firma y las partes firmadas, establecer la clave de firma y añadir el algoritmo de transformación STR-Transform como partes firmadas:

	  	  //obtener el contexto del mensaje
	  Object msgcontext = getMessageContext();
	  
	  	  //generar la instancia de WSSFactory 
	  WSSFactory factory = WSSFactory.getInstance();		
	  	  
	  	  //generar instancia WSSGenerationContext 
	  WSSGenerationContext gencont = factory.newWSSGenerationContext();
		
	  	  //generar manejador de retorno de llamada
	  X509GenerateCallbackHandler callbackHandler = new 
         X509GenerateCallbackHandler(
			  "",
			  "dsig-sender.ks",
			  "jks", 
			  "client".toCharArray(), 
			  "soaprequester", 
			  "client".toCharArray(), 
			  			  "CN=SOAPRequester, OU=TRL, O=IBM, ST=Kanagawa, C=JP", 
			  null);
	  
	  	  //generar la señal de seguridad utilizada para la firma  
	  SecurityToken token = factory.newSecurityToken(X509Token.class, 
        callbackHandler);

	  	  //generar instancia de WSSSignature
	  WSSSignature sig = factory.newWSSSignature(token);
	  
	  	  //establecer la parte especificada por WSSSignPart
	  WSSSignPart sigPart = factory.newWSSSignPart();

	  	  //establecer la parte especificada por WSSSignPart
	  sigPart.setSignPart(WSSSignature.BODY);

	  	  //establecer el método de conversión que se ha de especificar mediante WSSSignPart 
	  sigPart.setDigestMethod(WSSSignPart.SHA256);

	  	  //establecer el método de transformación que se ha de especificar mediante WSSSignPart  
	  sigPart.addTransform(WSSSignPart.TRANSFORM_STRT10);

	  	  //establecer la parte especificada por WSSSignPart
	  sig.addSignPart(sigPart);
	  
	  	  //añadir WSSSignature a WSSGenerationContext  
	  gencont.add(sig);
		
	  	  //generar la cabecera de WS-Security  
	  gencont.process(msgcontext);

Icon that indicates the type of topic Reference topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rwbs_wsssignpartalgorithms
File name: rwbs_wsssignpartalgorithms.html