Ajout de portions déchiffrées à l'aide de l'API WSSDecryptPart

Vous pouvez sécuriser les messages SOAP, sans utiliser d'ensemble de règles de configuration, en utilisant les API Web Services Security (WSS API). Pour configurer les portions déchiffrées pour les liaisons de destinataire de réponse (côté client), utilisez l'API WSSDecryptPart afin de définir et d'ajouter à la liste d'éléments la portion déchiffrée. WSSDecryptPart est une interface qui se trouve dans le package com.ibm.websphere.wssecurity.wssapi.decryption.

Avant de commencer

Vous pouvez utiliser les API WSS ou configurer des ensembles de règles à l'aide de la console d'administration pour configurer et ajouter des portions chiffrées. Pour sécuriser des messages SOAP à l'aide des API WSSDecryptPart, vous devez configurer les portions déchiffrées pour les liaisons du destinataire de la réponse.

Pourquoi et quand exécuter cette tâche

Les paramètres de confidentialité exigent l'application de contraintes de confidentialité aux messages générés. Ces contraintes incluent l'indication des portions du message généré à chiffrer et à déchiffrer et celles auxquelles associer des éléments chiffrés.

L'API WSSDecryptPart fournit des informations sur le déchiffrement et définit les parties déchiffrées ajoutées pour protéger la confidentialité des messages. Utilisez-la pour définir la méthode de transformation et préciser la portion à laquelle elle doit être appliquée. Elle définit uniquement la méthode de transformation si le protocole SOAP est employé pour les associations. L'API WSSDecryptPart n'est généralement pas obligatoire, sauf dans certains cas pour des tâches comme la définition de la méthode de transformation.

Les portions déchiffrées affichées dans le tableau suivant servent à protéger la confidentialité des messages.

Tableau 1. Portions déchiffrées. Utilisation des portions déchiffrées pour la sécurisation des messages.
Portions déchiffrées Description
keyword

Définit la portion déchiffrée à l'aide de mots clés. Les portions déchiffrées par défaut que vous pouvez ajouter à l'aide de mots clés sont BODY_CONTENT et SIGNATURE. WebSphere Application Server prend en charge les mots clés suivants :

  • BODY_CONTENT
  • SIGNATURE
  • USERNAME_TOKEN
xpath Définit la portion déchiffrée à l'aide d'une expression XPath.
verification Définit le composant WSSVerification comme partie déchiffrée.

La portion WSSVerification s'applique uniquement si le message SOAP comporte un élément signature.

header Définit l'en-tête, indiqué par QName, comme portion déchiffrée.

Certains comportements par défaut s'appliquent aux portions déchiffrées. La façon la plus simple d'utiliser l'API WSSDecryptPart est d'appliquer le comportement par défaut (voir l'exemple de code).

WSSDecryptPart fournit des valeurs par défaut pour définir l'algorithme de transformation, ajouter une méthode de transformation, définir des objets comme cibles et indiquer les portions chiffrées (comme le contenu du corps SOAP et la signature).

Tableau 2. Choix relatifs aux portions déchiffrées. Il existe une configuration par défaut pour certaines caractéristiques des portions déchiffrées.
Choix de déchiffrement Comportement par défaut
Définition à l'aide de mots clés des portions de message SOAP à déchiffrer

Indique les mots clés à utiliser pour définir les portions déchiffrées. WebSphere Application Server définit par défaut le déchiffrement des portions de message SOAP suivantes :

  • WSSDecryption.BODY_CONTENT
  • WSSDecryption.SIGNATURE
Définition de l'algorithme de transformation (algorithm)

Aucun algorithme de transformation n'est défini par défaut dans WebSphere Application Server. Spécifiez une méthode de transformation uniquement si vous utilisez le protocole SOAP avec des associations.

Procédure

  1. Pour déchiffrer les portions de message SOAP à l'aide de l'API WSSDecryptPart, vérifiez d'abord que le serveur d'applications est installé.
  2. L'API WSS avec WSSDecryptPart suit la procédure ci-après :
    1. Utilise WSSFactory.getInstance() pour obtenir l'instance d'implémentation d'API WSS.
    2. Création de l'instance WSSConsumingContext à partir de l'instance WSSFactory. Rappelez-vous que WSSConsumingContext doit toujours être appelé dans une application client JAX-WS.
    3. Création du jeton SecurityToken à partir de WSSFactory pour configurer le déchiffrement.
    4. Création de WSSDecryption à partir de l'instance WSSFactory à l'aide de SecurityToken.
    5. Création de WSSDecryptPart à partir de l'instance WSSFactory. Par défaut, WSSDecryptPart assume que le contenu du corps et la signature sont chiffrés.
    6. Ajout des poptions à déchiffrer et à appliquer avec l'algorithme de transformation dans WSSDecryptPart. WebSphere Application Server définit par défaut les portions chiffrées suivantes pour WSSDecryptPart : BODY_CONTENT et SIGNATURE. Si vous ajoutez d'autres portions déchiffrées, les valeurs par défaut ne sont plus valides. Par exemple, si vous appelez addDecryptPart(securityToken, false), seul le jeton de sécurité est chiffré, et non la signature et le contenu du corps. Par conséquent, pour déchiffrer le jeton de sécurité, la signature et le contenu du corps, vous devez appeler addDecryptPart(securityToken, false), addDecryptPart(WSSDecryption.SIGNATURE) et addDecryptPart(WSSDecryption.BODY_CONTENT).
    7. Définition de la méthode de transformation.
    8. Ajout de WSSDecryptPart à WSSDecryption.
    9. Ajout de WSSDecryption à WSSConsumingContext.
    10. Appel de WSSConsumingContext.process() avec SOAPMessageContext.

Résultats

En cas d'erreur lors du déchiffrement du message, une exception WSSException est lancée. Si l'opération aboutit, l'API appelle la méthode WSSConsumingContext.process(), l'en-tête WS-Security est généré et le message SOAP est sécurisé avec la sécurité des services Web.

Que faire ensuite

Après avoir activé les portions déchiffrées pour la liaison du destinataire de la réponse (côté client), indiquez les jetons du générateur et du destinataire s'ils n'ont pas déjà été précisés.


Icône indiquant le type de rubrique Rubrique de tâche



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=twbs_confwssdecryptsecretkey
Nom du fichier : twbs_confwssdecryptsecretkey.html