Méthodes de vérification de signature à l'aide de l'API WSSVerification
Vous pouvez vérifier la signature et les informations de signature à l'aide de l'API WSS pour la liaison du destinataire. Les méthodes d'algorithme de signature et de canonisation sont utilisées pour la liaison du générateur. L'API WSSVerification est fournie dans le package com.ibm.websphere.wssecurity.wssapi.verification.
Pour configurer les informations de signature du destinataire afin de protéger l'intégrité des messages, vous devez d'abord procéder à la signature numérique puis vérifier la signature des messages SOAP. 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 signature
- Définit la méthode d'algorithme de signature.
- Méthode de canonisation
- Définit la méthode d'algorithme de canonisation.
L'algorithme spécifié pour la configuration du générateur de la demande doit correspondre à l'algorithme spécifié pour la configuration du destinataire de la réponse.
Algorithmes de signature
Les algorithmes de signature spécifient l'algorithme de vérification de signature qui permet de signer le certificat. Les algorithmes de signature indiquent l'URI (Uniform Resource Identifier) de la méthode de vérification de la signature. WebSphere® Application Server prend en charge les algorithmes préconfigurés suivants :
| Algorithme | Descriptif |
|---|---|
| WSSVerification.HMAC_SHA1 | URI de l'algorithme de signature, HMAC : https://www.w3.org/2000/09/xmldsig#hmac-sha1 |
| WSSVerification.RSA_SHA1 (valeur par défaut) | URI de l'algorithme de signature, RSA : https://www.w3.org/2000/09/xmldsig#rsa-sha1 |
WebSphere Application Server ne prend pas en charge l'algorithme pour DSA-SHA1: https://www.w3.org/2000/09/xmldsig#dsa-sha1
Algorithmes de canonisation
Les algorithmes de canonisation indiquent l'URI (Uniform Resource Identifier) de la méthode de canonisation. WebSphere Application Server prend en charge les algorithmes préconfigurés suivants :
| Algorithme | Descriptif |
|---|---|
| WSSVerification.C14N | URI de l'algorithme de canonisation inclusive, C14N : https://www.w3.org/2001/10/xml-c14n# |
| WSSVerification.EXC_C14N (valeur par défaut) | URI de l'algorithme de canonisation exclusive, EXC_C14N : https://www.w3.org/2001/10/xml-exc-c14n# |
Voici un exemple de code d'API WSS spécifiant le jeton de sécurité X.509 Token pour la vérification de la signature :
WSSFactory factory = WSSFactory.getInstance();
WSSConsumingContext concont = factory.newWSSConsumingContext();
// X509ConsumeCallbackHandler
X509ConsumeCallbackHandler callbackHandler = new
X509ConsumeCallbackHandler("dsig-receiver.ks",
"jks",
"server".toCharArray(),
certList,
java.security.Security.getProvider("IBMCertPath")46 );
// Set the verification component
// DEFAULT verification parts: Body, WS-Addressing header, and Timestamp
// DEFAULT data encryption algorithm: RSA-SHA1
// DEFAULT digest algorithm: SHA1
// DEFAULT canonicalization algorithm: exc-c14n
WSSVerification ver = factory.newWSSVerification(X509Token.class,
callbackhandler);
concont.add(ver);
// Validate the WS-Security header
concont.validate(msgctx);