Méthodes de signature numérique à l'aide de l'API WSSSignature
Vous pouvez configurer les informations de signature pour la liaison du générateur à l'aide de l'API WSS. Pour configurer le client pour la signature de la demande, choisissez les méthodes de signature numérique. Les méthodes d'algorithme incluent les méthodes de signature et de canonisation.
Vous devez configurer les informations de signature du générateur pour protéger l'intégrité des messages via la signature numérique 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.
Une fois que vous avez indiqué les parties du message associées à une signature numérique, vous devez définir la méthode utilisée pour associer une signature numérique au message.
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.
Algorithmes de signature
Les algorithmes de signature spécifient l'algorithme qui permet de signer le certificat. Les algorithmes de signature indiquent l'URI (Uniform Resource Identifier) de la méthode de signature. WebSphere Application Server prend en charge les algorithmes préconfigurés suivants :
Algorithme | Description |
---|---|
WSSSignature.HMAC_SHA1 | URI de l'algorithme de signature, HMAC : http://www.w3.org/2000/09/xmldsig#hmac-sha1 |
WSSSignature.RSA_SHA1 (valeur par défaut) | URI de l'algorithme de signature, RSA : http://www.w3.org/2000/09/xmldsig#rsa-sha1 |
Pour les API WSS, WebSphere Application Server ne prend pas en charge l'algorithme DSA-SHA1, http://www.w3.org/2000/09/xmldsig#dsa-sha1
L'algorithme de signature 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 demande.
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 |
---|---|
WSSSignature.EXC_C14N (valeur par défaut) | URI de l'algorithme de canonisation exclusive, EXC_C14N : http://www.w3.org/2001/10/xml-exc-c14n# |
WSSSignature.C14N | URI de l'algorithme de canonisation inclusive, C14N : http://www.w3.org/2001/10/xml-c14n# |
L'algorithme de canonisation 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 demande.
Voici un exemple de code d'API WSS spécifiant HMAC_SHA1 comme méthode de signature et C14n comme méthode de canonisation :
// 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 méthode de canonisation
// DEFAULT: WSSSignature.EXC_C14N
sig.setCanonicalizationMethod(WSSSignature.C14N);
//définition de la méthode de signature
// DEFAULT: WSSSignature.RSA_SHA1
sig.setSignatureMethod(WSSSignature.HMAC_SHA1);
//ajout de WSSSignature à WSSGenerationContext
gencont.add(sig);
// génération de l'en-tête WS-Security
gencont.process(msgcontext);