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
- 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 :
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 :
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.
- 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);