Configuration des ensembles de règles et des liaisons pour le chiffrement d'un jeton de nom d'utilisateur (UsernameToken)

Cet exemple montre comment configurer les liaisons et les ensembles de règles WS-Security au niveau des messages pour envoyer un jeton de nom d'utilisateur dans une demande JAX-WS et chiffrer ce jeton à l'aide du chiffrement asymétrique.

Avant de commencer

Effectuez une copie de l'ensemble de règles par défaut Username WSSecurity et affectez-lui un nom unique. Cet exemple montre comment modifier une copie de l'ensemble de règles par défaut. Pour plus d'informations, voir la rubrique Copier les paramètres des liaisons et des ensembles de règles par défaut.

Pourquoi et quand exécuter cette tâche

Par défaut, l'ensemble de règles Username WSSecurity signe le corps et les en-têtes WS-Addressing dans la demande et la réponse et chiffre le corps et la signature dans la demande et la réponse. Toutefois, dans cet exemple, l'objectif consiste à ne chiffrer que le jeton de nom d'utilisateur dans la demande du client au service, mais à ne pas chiffrer les parties de la réponse du service au client. En outre aucune partie de la demande ou de la réponse n'est signée. Par conséquent, l'ensemble de règles doit être modifié pour supprimer les parties relatives à la protection des messages. Vous devez également configurer les liaisons client et serveur.

Configurez d'abord l'ensemble de règles en modifiant votre copie de l'ensemble de règle par défaut Username WSSecurity.

Procédure

  1. Dans la console d'administration, cliquez sur Services > Ensembles de règles > Ensembles de règles de l'application > nom_ensemble_règles. Dans le panneau Paramètres des ensembles de règles, vous pouvez spécifier des informations sur l'ensemble de règles, telles que la description.
  2. Supprimez les sections suivantes relatives à la protection des messages : request:app_signparts, response:app_signparts et response:app_encparts.
    1. Cliquez sur Ensembles de règles de l'application > nom_ensemble_règles > WS-Security > Règle principale > Protection des parties de message de réponse.
    2. Cliquez sur app_encparts dans la zone Parties chiffrées, puis cliquez sur le bouton Supprimer.
    3. Cliquez sur app_signparts dans la zone Parties signées, puis cliquez sur le bouton Supprimer.
    4. Cliquez sur Ensembles de règles de l'application > nom_ensemble_règles > WS-Security > Règle principale > Protection des parties du message de demande.
    5. Cliquez sur app_signparts dans la zone Parties signées, puis cliquez sur le bouton Supprimer.
  3. Mettez à jour la partie de protection spécifiée pour request:app_encparts. Par défaut, cette partie de protection des messages chiffre le corps et la signature et doit être modifié pour chiffrer le jeton de nom d'utilisateur.
    1. Cliquez sur Ensembles de règles de l'application > nom_ensemble_règles > WS-Security > Règle principale > Protection des parties du message de demande > Partie chiffrée - app_encparts > Editer .
    2. Supprimez les éléments existants dans le panneau Eléments de la partie, puis ajoutez deux expressions XPath pour chiffrer le jeton de nom d'utilisateur.

      Expression 1 :

      /*[namespace-uri()='http://schemas.xmlsoap.org/soap/envelope/' 
              and local-name()='Envelope']/*[namespace-uri()='http://schemas.xmlsoap.org/soap/envelope/' 
              and local-name()='Header']/*[namespace-uri()='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd' 
              and local-name()='Security']/*[namespace-uri()='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd' 
              and local-name()='UsernameToken']

      Expression 2 :

      /*[namespace-uri()='http://www.w3.org/2003/05/soap-envelope' 
              and local-name()='Envelope']/*[namespace-uri()='http://www.w3.org/2003/05/soap-envelope' 
              and local-name()='Header']/*[namespace-uri()='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd' 
              and local-name()='Security']/*[namespace-uri()='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd' 
              and local-name()='UsernameToken']

Que faire ensuite

La deuxième partie de la procédure consiste à configurer les liaisons client et serveur.
Eviter les incidents Eviter les incidents: Lors de l'utilisation de la liaison client, soyez prudent quand vous choisissez le jeton de protection à modifier. Les noms des jetons sont représentés du point de vue du protecteur. Par exemple, sur un client, même si le mot destinataire figure dans son nom, AsymmetricBindingRecipientEncryptionToken0 est un générateur. La meilleure façon de vous assurer que le bon jeton est choisi est d'examiner la colonne Utilisation dans la table des jetons de protection.gotcha
  1. Configurez la liaison client, comme suit :
    1. Associez la règle à une ressource de service et créez une liaison pour cette ressource qui inclut la règle WSSecurity.
    2. Cliquez sur WSSecurity dans la nouvelle liaison pour afficher le panneau principal des liaisons WSSecurity. Par exemple, cliquez sur Applications d'entreprise > WSSampleServiceSei > Liaisons et ensemble de règles du client de services > nom_liaisons > WS-Security.
    3. Cliquez sur Authentification et protection.
    4. Sous Jetons de protection, cliquez sur AsymmetricBindingRecipientEncryptionToken0 (le générateur de chiffrement asymétrique).
    5. Cliquez sur Apply.
    6. Cliquez sur Gestionnaire d'appel.
    7. Sélectionnez Personnalisé dans le menu Magasin de clés.
    8. Cliquez sur Configuration du magasin de clés personnalisée.
    9. Entrez le chemin d'accès du magasin de clés. Par exemple : ${USER_INSTALL_ROOT}/etc/ws-security/samples/enc-receiver.jceks.
    10. Sélectionnez JCEKS pour Type.
    11. Entrez le mot de passe dans les zones Mot de passe et Confirmer le mot de passe. Par exemple, storepass.
    12. Entrez un nom de clé. Par exemple, CN=Bob,O=IBM,C=US.
    13. Entrez un alias de clé. Par exemple, bob.
    14. Cliquez sur OK.
    15. Cliquez de nouveau sur OK.
    16. Cliquez sur OK une fois de plus pour retourner au panneau Applications d'entreprise > WSSampleServicesSei > Liaisons et ensemble de règles du client de services > nom_liaisons > WS-Security > Authentification et protection.
    17. Le statut d'AsymmetricBindingRecipientEncryptionToken0 doit être Configuré.
  2. Modifiez les paramètres des sections chiffrées de la liaison client, comme suit :
    1. Cliquez sur request:app_encparts sous Protection par chiffrement et signature du message de demande.
    2. Entrez un nom. Par exemple, MyEncPart.
    3. Cliquez sur Nouveau sous Informations sur les clés.
    4. Entrez un nom. Par exemple, MyEncKeyInfo.
    5. Cliquez sur OK.
    6. Sélectionnez MyEncKeyInfo (ou le nom que vous avez spécifié pour la partie chiffrée) dans la zone Disponible, puis cliquez sur Ajouter. MyEncKeyInfo apparaît dans la zone Affecté.
    7. Cliquez sur OK pour retourner au panneau Applications d'entreprise > WSSampleServicesSei > Liaisons et ensemble de règles du client de services > nom_liaisons > WS-Security > Authentification et protection.
    8. Le statut de request:app_encparts doit être Configuré.
  3. Configurez les paramètres Jeton de nom d'utilisateur dans la liaison client, comme suit :
    1. Cliquez sur request:myUserNameToken sous Jetons de protection.
    2. Cliquez sur Apply.
    3. Cliquez sur Gestionnaire d'appel.
    4. Spécifiez le nom d'utilisateur. Par exemple, LDAPSunuser6.
    5. Spécifiez le mot de passe et confirmez-le.
    6. Cliquez sur OK.
    7. Dans Propriétés personnalisées, cliquez sur Nouveau afin d'ajouter les propriétés pour l'activation des éléments nonce et d'horodatage.
    8. Entrez le nom de propriété com.ibm.wsspi.wssecurity.token.username.addNonce pour activer l'élément nonce, puis la valeur de propriété true.
    9. Entrez le nom de propriété com.ibm.wsspi.wssecurity.token.username.addTimestamp pour activer l'élément d'horodatage, puis la valeur de propriété true.
    10. Cliquez de nouveau sur OK.
    11. Le statut de request:myUserNameToken doit être maintenant Configuré.
    12. Cliquez sur Sauvegarder pour sauvegarder vos liaisons client.
  4. Configurez la liaison serveur, comme suit :
    1. Associez la règle à une ressource de service et créez une liaison pour cette ressource qui inclut la règle WSSecurity.
    2. Cliquez sur WSSecurity dans la nouvelle liaison pour afficher le panneau principal des liaisons WSSecurity. Par exemple, cliquez sur Applications d'entreprise > WSSampleServiceSei > Liaisons et ensemble de règles du client de services > nom_liaisons > WS-Security.
    3. Cliquez sur Authentification et protection.
    4. Sous Jetons de protection, cliquez sur AsymmetricBindingRecipientEncryptionToken0 (le consommateur de chiffrement asymétrique)
    5. Cliquez sur Apply.
    6. Cliquez sur Gestionnaire d'appel.
    7. Sélectionnez Personnalisé dans le menu Magasin de clés.
    8. Cliquez sur Configuration du magasin de clés personnalisée.
    9. Entrez le chemin d'accès du magasin de clés. Par exemple : ${USER_INSTALL_ROOT}/etc/ws-security/samples/enc-receiver.jceks.
    10. Sélectionnez JCEKS pour Type.
    11. Entrez le mot de passe dans les zones Mot de passe et Confirmer le mot de passe. Par exemple, storepass.
    12. Entrez un nom de clé. Par exemple, CN=Bob,O=IBM,C=US.
    13. Entrez un alias de clé. Par exemple, bob.
    14. Entrez le mot de passe pour keypass dans les zones Mot de passe et Confirmer le mot de passe.
    15. Cliquez sur OK.
    16. Cliquez de nouveau sur OK.
    17. Cliquez sur OK une fois de plus pour retourner au panneau Applications d'entreprise > WSSampleServicesSei > Liaisons et ensemble de règles du client de services > nom_liaisons > WS-Security > Authentification et protection.
    18. Le statut d'AsymmetricBindingRecipientEncryptionToken0 doit être Configuré.
  5. Modifiez les paramètres des sections chiffrées de la liaison serveur, comme suit :
    1. Cliquez sur request:app_encparts sous Protection par chiffrement et signature du message de demande.
    2. Entrez un nom. Par exemple, MyEncPart.
    3. Cliquez sur Nouveau sous Informations sur les clés.
    4. Entrez un nom. Par exemple, MyEncKeyInfo.
    5. Cliquez sur OK.
    6. Sélectionnez MyEncKeyInfo (ou le nom que vous avez spécifié pour la partie chiffrée) dans la zone Disponible, puis cliquez sur Ajouter. MyEncKeyInfo apparaît dans la zone Affecté.
    7. Cliquez sur OK pour retourner au panneau Applications d'entreprise > WSSampleServicesSei > Liaisons et ensemble de règles du client de services > nom_liaisons > WS-Security > Authentification et protection.
    8. Le statut de request:app_encparts doit être Configuré.
  6. Configurez les paramètres Jeton de nom d'utilisateur dans la liaison serveur, comme suit :
    1. Cliquez sur request:myUserNameToken sous Jetons de protection.
    2. Cliquez sur Apply.
    3. Cliquez sur Gestionnaire d'appel.
    4. Cliquez sur OK.
    5. Dans Propriétés personnalisées, cliquez sur Nouveau afin d'ajouter les propriétés pour la vérification des éléments nonce et d'horodatage.
    6. Entrez le nom de propriété com.ibm.wsspi.wssecurity.token.username.verifyNonce pour vérifier l'élément nonce, puis la valeur de propriété true.
    7. Entrez le nom de propriété com.ibm.wsspi.wssecurity.token.username.verifyTimestamp pour vérifier l'élément d'horodatage, puis la valeur de propriété true.
    8. Cliquez de nouveau sur OK.
    9. Le statut de request:myUserNameToken doit être Configuré.
    10. Cliquez sur Sauvegarder pour sauvegarder les liaisons serveur.

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_configmsglvlpolicyset
Nom du fichier : twbs_configmsglvlpolicyset.html