Ajout de portions chiffrées à l'aide de l'API WSSEncryptPart

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 chiffrées pour les liaisons du générateur de la demande (côté client), utilisez l'API WSSEncryptPart afin de définir les portions chiffrées ou d'ajouter des éléments à la liste. WSSEncryptPart est une interface qui se trouve dans le package com.ibm.websphere.wssecurity.wssapi.encryption.

Avant de commencer

Vous pouvez utiliser les API WSS ou configurer des ensembles de règles à l'aide de la console d'administration pour activer les portions chiffrées. Pour sécuriser des messages SOAP, utilisez les API WSS afin d'exécuter les tâches de chiffrement suivantes, si besoin est :

  • Configurez le chiffrement et choisissez les méthodes de chiffrement à l'aide de l'API WSSEncryption.
  • Configurez les portions chiffrées à l'aide de l'API WSSEncryptpart, si besoin est.

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 celles auxquelles associer des éléments chiffrés. Les informations de chiffrement côté générateur sont utilisées pour chiffrer un message SOAP sortant. Le générateur de la requête est configuré pour le client.

L'API WSSEncryptPart fournit des informations sur les portions chiffrées et définit celles 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 WSSEncryptPart 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 chiffrées et les informations relatives affichées dans le tableau suivant servent à protéger la confidentialité des messages.

Tableau 1. Portions chiffrées. Utilisez les portions chiffrées pour sécuriser les messages.
Portions chiffrées Description
part Ajoute l'objet WSSEncryptPart comme cible de la portion chiffrée.
keyword

Ajoute les portions chiffrées à l'aide de mots clés. Les portions 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
xpath Ajoute la portion chiffrée à l'aide d'une expression XPath.
signature Ajoute le composant WSSSignature comme cible de la portion chiffrée.

WSSSignature s'applique uniquement si le message SOAP comporte un élément de signature.

header Ajoute l'en-tête SOAP, indiqué par QName, comme cible de la partie chiffrée.
securityToken Ajoute l'objet SecurityToken comme cible de la partie chiffrée.

Certains comportements par défaut s'appliquent aux portions chiffrées. La façon la plus simple d'utiliser l'API WSSEncryptPart est d'appliquer les comportements par défaut. Elle fournit des valeurs par défaut pour l'algorithme de transformation, les objets cibles et les portions chiffrées (comme le contenu du corps SOAP et la signature).

Les comportements de chiffrement par défaut incluent :

Tableau 2. Choix relatifs aux portions chiffrées. Plusieurs portions des messages chiffrés sont définies par défaut.
Choix relatifs aux portions chiffrées Comportement par défaut
Parties de message SOAP à chiffrer à l'aide de mots clés

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

  • WSSEncryption.BODY_CONTENT
  • WSSEncryption.SIGNATURE
La méthode de transformation à ajouter

WebSphere Application Server n'indique aucune méthode de transformation par défaut. Spécifiez une méthode de transformation uniquement si vous utilisez le protocole SOAP avec des associations.

Procédure

  1. Pour chiffrer les parties du message SOAP à l'aide de l'API WSSEncryptPart, assurez-vous d'abord que le serveur d'applications est installé.
  2. L'API WSS pour le chiffrement avec WSSEncryptPart suit la procédure ci-après :
    1. Utilise WSSFactory.getInstance() pour obtenir l'instance d'implémentation d'API WSS.
    2. Crée l'instance WSSGenerationContext à partir de l'instance WSSFactory.
    3. Création de SecurityToken à partir du WSSFactory pour configurer le chiffrement.
    4. Crée WSSEncryption à partir de l'instance WSSFactory en utilisant le SecurityToken.
    5. Création de WSSEncryptPart à partir de WSSFactory.
    6. Ajout des composants à chiffrer et à transformer avec WSSEncryptPart. WebSphere Application Server définit par défaut les portions chiffrées suivantes pour WSSEncryptPart : BODY_CONTENT et SIGNATURE. Si vous ajoutez d'autres portions chiffrées, les valeurs par défaut ne sont plus valides. Par exemple, si vous appelez addEncryptPart(securityToken, false), seul le jeton de sécurité est chiffré, et non la signature et le contenu du corps. Pour chiffrer le jeton de sécurité, la signature et le contenu du corps, vous devez appeler addEncryptPart(securityToken, false), addEncryptPart(WSSEncryption.SIGNATURE) et addEncryptPart(WSSEncrypyion.BODY_CONTENT).
    7. Définition de la méthode de transformation.
    8. Ajout de WSSEncryptPart à WSSEncryption.
    9. Ajout de WSSEncryption à WSSGenerationContext.
    10. Appelle WSSGenerationContext.process() avec le contexte SOAPMessageContext.

Résultats

En cas d'erreur lors du chiffrement des portions de message, une exception WSSException est lancée. Si l'opération aboutit, l'API appelle la méthode WSSGenerationContext.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 l'activation des portions chiffrées pour la liaison du générateur de la demande (côté client), vous devez indiquer les mêmes portions à déchiffrer pour la liaison du destinataire de la réponse (côté client). Ensuite, pour configurer le déchiffrement et les portions déchiffrées, utilisez les API WSS ou configurez des ensembles de règles à l'aide de la console d'administration.


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_confwssencryptsecretkey
Nom du fichier : twbs_confwssencryptsecretkey.html