Méthodes de parties signées à l'aide de l'API WSSSignPart

Vous pouvez configurer les informations relatives aux parties signées pour la liaison du générateur à l'aide de l'API WSS. Les algorithmes incluent les méthodes de synthèse (digest) et de transformation.

Vous pouvez protéger l'intégrité des messages en configurant les parties signées et les informations de clés. L'intégrité fait référence à la signature numérique alors que la confidentialité fait référence au chiffrement. L'intégrité limite le risque d'altération des données lors de leur transmission sur le réseau.

Méthodes

Les méthodes utilisées pour les parties signées sont les suivantes :
Méthode de synthèse (digest)
Définit la méthode d'algorithme de synthèse.
Algorithme de transformation
Définit la méthode d'algorithme de transformation.

Algorithmes de synthèse

L'algorithme de méthode digest spécifié dans l'élément est utilisé dans l'élément . WebSphere Application Server prend en charge les algorithmes préconfigurés suivants :

Tableau 1. Méthodes de synthèse des parties signées. Ce tableau répertorie les méthodes utilisées pour les parties signées.
Méthode de synthèse (digest) Description
WSSSignPart.SHA1 (valeur par défaut) URI de l'algorithme de synthèse, SHA1 : http://www.w3.org/2000/09/xmldsig#sha1
WSSSignPart.SHA256 URI de l'algorithme de synthèse, SHA256 : http://www.w3.org/2001/04/xmlenc#sha256
WSSSignPart.SHA512 URI de l'algorithme de synthèse, SHA256 : http://www.w3.org/2001/04/xmlenc#sha512

Algorithme de transformation

L'algorithme de méthode de transformation spécifié dans l'élément est utilisé dans l'élément. WebSphere Application Server prend en charge les algorithmes préconfigurés suivants :

Tableau 2. Méthodes de transformation des parties signées. Ce tableau répertorie les méthodes utilisées pour les parties signées.
Méthode de synthèse (digest) Description
WSSSignPart.TRANSFORM_ENVELOPED_SIGNATURE URI de l'algorithme de transformation, signature enveloppée : http://www.w3.org/2000/09/xmldsig#enveloped-signature
WSSSignPart.TRANSFORM_STRT10 URI de l'algorithme de transformation, STR-Transform : http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#STR-Transform
WSSSignPart.TRANSFORM_EXC_C14N (valeur par défaut) URI de l'algorithme de transformation, Exc-C14N : http://www.w3.org/2001/10/xml-exc-c14n#
WSSSignPart.TRANSFORM_XPATH2_FILTER URI de l'algorithme de transformation, filtre XPath2 : http://www.w3.org/2002/06/xmldsig-filter2

L'algorithme de transformation est précisé dans l'élément <Transform> et indique celui pour la partie signée.

Pour les API WSS, WebSphere Application Server ne prend pas en charge les algorithmes de transformation suivants :
  • http://www.w3.org/TR/1999/REC-xpath-19991116
  • http://www.w3.org/2002/07/decrypt#XML

Voici un exemple de code d'API WSS permettant de spécifier la signature et les parties signées, de définir les clé de signature et d'ajouter l'algorithme de transformation STR-Transform sous forme de parties signées :

	  // obtention du contexte de message
	  Object msgcontext = getMessageContext();
	  
	  // génération de l'instance WSSFactory 
	  WSSFactory factory = WSSFactory.getInstance();		
	  	  
	  // génération de l'instance WSSGenerationContext 
	  WSSGenerationContext gencont = factory.newWSSGenerationContext();
		
	  // génération du gestionnaire d'appel
	  X509GenerateCallbackHandler callbackHandler = new 
         X509GenerateCallbackHandler(
			  "",
			  "dsig-sender.ks",
			  "jks", 
			  "client".toCharArray(), 
			  "soaprequester", 
			  "client".toCharArray(), 
			  "CN=SOAPRequester, OU=TRL, O=IBM, ST=Kanagawa, C=JP", 
			  null);
	  
	  // génération du jeton de sécurité utilisé pour la signature  
	  SecurityToken token = factory.newSecurityToken(X509Token.class, 
        callbackHandler);

	  // génération de l'instance WSSSignature
	  WSSSignature sig = factory.newWSSSignature(token);
	  
	  //définition de la partie spécifiée par WSSSignPart  
	  WSSSignPart sigPart = factory.newWSSSignPart();

	  //définition de la partie spécifiée par WSSSignPart
	  sigPart.setSignPart(WSSSignature.BODY);

	  //définition de la méthode de synthèse spécifiée par WSSSignPart 
	  sigPart.setDigestMethod(WSSSignPart.SHA256);

	  //définition de la méthode de transformation spécifiée par WSSSignPart  
	  sigPart.addTransform(WSSSignPart.TRANSFORM_STRT10);

	  //définition de la partie spécifiée par WSSSignPart 
	  sig.addSignPart(sigPart);
	  
	  //ajout de WSSSignature à WSSGenerationContext  
	  gencont.add(sig);
		
	  // génération de l'en-tête WS-Security  
	  gencont.process(msgcontext);

Icône indiquant le type de rubrique Rubrique de référence



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rwbs_wsssignpartalgorithms
Nom du fichier : rwbs_wsssignpartalgorithms.html