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 | Description |
---|---|
WSSVerification.HMAC_SHA1 | URI de l'algorithme de signature, HMAC : http://www.w3.org/2000/09/xmldsig#hmac-sha1 |
WSSVerification.RSA_SHA1 (valeur par défaut) | URI de l'algorithme de signature, RSA : http://www.w3.org/2000/09/xmldsig#rsa-sha1 |
WebSphere Application Server ne prend pas en charge l'algorithme DSA-SHA1, http://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 | Description |
---|---|
WSSVerification.C14N | URI de l'algorithme de canonisation inclusive, C14N : http://www.w3.org/2001/10/xml-c14n# |
WSSVerification.EXC_C14N (valeur par défaut) | URI de l'algorithme de canonisation exclusive, EXC_C14N : http://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 );
// Définition du composant de vérification
// Parties de vérification par défaut : Corps, en-tête WS-Addressing et horodatage
// Algorithme de chiffrement de données par défaut : RSA-SHA1
// Algorithme de synthèse par défaut : SHA1
// Algorithme de canonisation par défaut : exc-c14n
WSSVerification ver = factory.newWSSVerification(X509Token.class,
callbackhandler);
concont.add(ver);
// Valider l'en-tête WS-Security
concont.validate(msgctx);