Configuration d'un ensemble de règles et des liaisons pour la signature numérique XML à l'aide de liaisons spécifiques aux applications client et fournisseur

Vous pouvez créer un ensemble de règles personnalisé et des liaisons spécifiques à une application, afin d'utiliser la signature numérique XML pour signer le corps des messages de demande et de réponse SOAP.

Avant de commencer

Le fournisseur de services et le client que vous configurez doivent être dans l'application JaxWSServicesSamples. Pour plus d'informations sur la procédure permettant d'obtenir et d'installer cette application, voir Accès aux exemples.

Utilisez la spécification de trace suivante sur votre serveur afin de pouvoir déboguer les problèmes de configuration qui peuvent se produire dans le futur :
*=info:com.ibm.wsspi.wssecurity.*=all:com.ibm.ws.webservices.wssecurity.*=all: 
com.ibm.ws.wssecurity.*=all: com.ibm.xml.soapsec.*=all: com.ibm.ws.webservices.trace.*=all: 
com.ibm.ws.websvcs.trace.*=all:com.ibm.ws.wssecurity.platform.audit.*=off:

Pourquoi et quand exécuter cette tâche

Configurez l'ensemble de règles WS-Security pour utiliser uniquement la contrainte WS-Security de signature numérique XML et configurez des liaisons personnalisées spécifiques à l'application de signature numérique XML pour un client et un fournisseur.

Les fichiers de clés utilisés dans cette procédure sont livrés avec WebSphere Application Server Traditional et sont installés dans chacun des profils créés. Vous pouvez utiliser la variable ${RACINE_INSTALL_UTILISATEUR} directement dans la configuration de sorte qu'elle pointe aisément vers les emplacements de fichier de clés sans utiliser de chemin qualifié complet. ${USER_INSTALL_ROOT} correspond à un chemin tel que c:/WebSphere/AppServer/profiles/AppSrv01.

${RACINE_INSTALL_UTILISATEUR}/etc/ws-security/samples/dsig-sender.ks
${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-receiver.ks
De par la nature de JaxWSServicesSamples, pour appliquer l'ensemble de règles et les liaisons à cette application, dans la console d'administration, cliquez sur Applications > Types d'application > Applications d'entreprise WebSphere > JaxWSServicesSamples. Lors de l'utilisation de vos propres applications, vous pouvez utiliser les chemins suivants comme autre moyen d'accéder au fournisseur et au client pour l'association de l'ensemble de règles et des liaisons :
* Services > Service Providers > (AppName)
* Services > Service clients > (AppName)
Eviter les incidents Eviter les incidents: Accordez une attention particulière aux noms des générateurs et consommateurs de jeton dans la console d'administration. Il se peut que le demandeur et le destinataire ne soient pas ceux prévus pour les jetons. La colonne de syntaxe dans la table indique si un jeton est un jeton de consommateur ou un jeton de générateur.gotcha

Procédure

  1. Créez l'ensemble de règles personnalisé.
    1. Dans la console d'administration, cliquez sur Services > Ensembles de règles > Ensembles de règles d'application.
    2. Cliquez sur Nouveau.
    3. Spécifiez Nom=AsignPolicy.
    4. Cliquez sur Appliquer.
    5. Dans Règles, cliquez sur Ajouter > WS-Security.
  2. Modifiez la règle personnalisée afin de supprimer le chiffrement et l'horodatage.
    1. Dans la console d'administration, cliquez sur WS-Security > Règle principale.
    2. Sous Protection au niveau des messages, cliquez sur Protection des parties de message de demande.
    3. Cliquez sur app_encparts.
    4. Cliquez sur Supprimer.
    5. Cliquez sur Terminé.
    6. Cliquez sur Protection des parties de message de réponse.
    7. Cliquez sur app_encparts.
    8. Cliquez sur Supprimer.
    9. Cliquez sur Terminé.
    10. Désélectionnez Inclure l'horodatage dans l'en-tête de sécurité.
    11. Cliquez sur Appliquer.
    12. Enregistrez la configuration.
  3. Configurez le client pour qu'il utilise l'ensemble de règles AsignPolicy.
    1. Dans la console d'administration, cliquez sur Applications > Types d'application > Applications d'entreprise WebSphere > JaxWSServicesSamples > Liaisons et ensembles de règles de client de service.
    2. Sélectionnez la ressource de client de services Web (JaxWSServicesSamples).
    3. Cliquez sur Lier un ensemble de règles.
    4. Sélectionnez AsignPolicy.
  4. Créez une liaison personnalisée pour le client.
    1. Sélectionnez de nouveau la ressource de services Web.
    2. Cliquez sur Affecter une liaison.
    3. Cliquez sur Nouvelle liaison spécifique à l'application pour créer une liaison spécifique à l'application.
    4. Indiquez le nom de configuration des liaisons.

      nom : clientBinding

    5. Cliquez sur Ajouter > WS-Security.
    6. Si le panneau Liaisons principales de stratégie de sécurité des messages ne s'affiche pas, sélectionnez WS-Security.
  5. Configurez les liaisons personnalisées du client.
    1. Configurez un espace de stockage de certificats.
      1. Cliquez sur Clés et certificats.
      2. Sous Espace de stockage de certificats, cliquez sur Nouvel élément entrant... .
      3. Spécifiez nom=clientCertStore.
      4. Spécifiez Certificats X.509 intermédiaires=${RACINE_INSTALL_UTILISATEUR}/etc/ws-security/samples/intca2.cer.
      5. Cliquez sur OK.
    2. Configurez un ancrage sécurisé.
      1. Sous Ancrage sécurisé, cliquez sur Nouveau...
      2. Spécifiez nom=clientTrustAnchor.
      3. Cliquez sur Fichier de clés externe.
      4. Spécifiez Chemin d'accès complet=${RACINE_INSTALL_UTILISATEUR}/etc/ws-security/samples/dsig-sender.ks.
      5. Spécifiez Mot de passe=client.
      6. Cliquez sur OK.
      7. Cliquez sur WS-Security dans le panneau de navigation de cette page.
    3. Configurez le générateur de signature.
      1. Cliquez sur Authentification et protection > AsymmetricBindingInitiatorSignatureToken0 (générateur de signature), puis cliquez sur Appliquer.
      2. Cliquez sur Gestionnaire d'appel.
      3. Spécifiez Fichier de clés=personnalisé.
      4. Cliquez sur Configuration du fichier de clés personnalisé, puis spécifiez
        • Chemin d'accès complet==${RACINE_INSTALL_UTILISATEUR}/etc/ws-security/samples/dsig-sender.ks
        • Mot de passe du fichier de clés=client
        • Nom=client
        • Alias=soaprequester
        • Mot de passe=client
      5. Cliquez sur OK, OK et OK.
    4. Configurez le consommateur de signature.
      1. Cliquez sur AsymmetricBindingRecipientSignatureToken0 (consommateur de signature), puis cliquez sur Appliquer.
      2. Cliquez sur Gestionnaire d'appel.
      3. Sous Certificats, cliquez sur le bouton radial Espace de stockage de certificats, puis spécifiez :
        • Espace de stockage de certificats=clientCertStore
        • Espace de stockage d'ancrages sécurisés=clientTrustAnchor
      4. Cliquez sur OK, puis de nouveau sur OK.
    5. Configurez les informations de signature de demande.
      1. Cliquez sur request:app_signparts, puis spécifiez Nom=clientReqSignInfo.
      2. Sous Informations de clé de signature, cliquez sur Nouveau , puis spécifiez :
        • Nom=clientReqSignKeyInfo
        • Type=Référence de jeton de sécurité
        • Nom du consommateur ou du générateur de jeton=AsymmetricBindingInitiatorSignatureToken0
      3. Cliquez sur OK, puis sur Appliquer.
      4. Sous Référence de partie de message, sélectionnez request:app_signparts .
      5. Cliquez sur Editer.
      6. Sous Algorithmes de transformation, cliquez sur Nouveau
      7. Spécifiez URL=http://www.w3.org/2001/10/xml-exc-c14n#.
      8. Cliquez sur OK, OK et OK.
    6. Configurez les informations de signature de réponse.
      1. Cliquez sur response:app_signparts, puis spécifiez Nom=clientRespSignInfo.
      2. Cliquez sur Appliquer.
      3. Sous Informations de clé de signature, cliquez sur Nouveau , puis spécifiez :
        • Nom=clientRspSignKeyInfo
        • Nom du consommateur ou du générateur de jeton=AsymmetricBindingRecipientSignatureToken0
      4. Cliquez sur OK.
      5. Sous Informations de clé de signature, cliquez sur clientRspSignKeyinfo, puis cliquez sur Ajouter.
      6. Sous Référence de partie de message, sélectionnez response:app_signparts .
      7. Cliquez sur Editer.
      8. Sous Algorithmes de transformation, cliquez sur Nouveau.
      9. Spécifiez URL=http://www.w3.org/2001/10/xml-exc-c14n#.
      10. Cliquez sur OK, OK et OK.
  6. Configurez le fournisseur pour qu'il utilise l'ensemble de règles AsignPolicy.
    1. Dans la console d'administration, cliquez sur Applications > Types d'application > Applications d'entreprise WebSphere > JaxWSServicesSamples > Liaisons et ensembles de règles de fournisseur de service.
    2. Sélectionnez la ressource de fournisseur de services Web (JaxWSServicesSamples).
    3. Cliquez sur Lier un ensemble de règles.
    4. Sélectionnez AsignPolicy.
  7. Créez une liaison personnalisée pour le fournisseur.
    1. Sélectionnez de nouveau la ressource de fournisseur de services Web.
    2. Cliquez sur Affecter une liaison.
    3. Cliquez sur Nouvelle liaison spécifique à l'application pour créer une liaison spécifique à l'application.
    4. Spécifiez Nom de configuration des liaisons :providerBinding.
    5. Cliquez sur Ajouter > WS-Security.
    6. Si le panneau Liaisons principales de stratégie de sécurité des messages ne s'affiche pas, sélectionnez WS-Security.
  8. Configurez les liaisons personnalisées du fournisseur.
    1. Configurez un espace de stockage de certificats.
      1. Cliquez sur Clés et certificats.
      2. Sous Espace de stockage de certificats, cliquez sur Nouvel élément entrant... .
      3. Indiquez :
        • Nom=providerCertStore
        • Certificat X.509 intermédiaire=${RACINE_INSTALL_UTILISATEUR}/etc/ws-security/samples/intca2.cer
      4. Cliquez sur OK.
    2. Configurez un ancrage sécurisé.
      1. Sous Ancrage sécurisé, cliquez sur Nouveau...
      2. Spécifiez Nom=providerTrustAnchor.
      3. Cliquez sur Fichier de clés externe, puis spécifiez :
        • Chemin d'accès complet=${RACINE_INSTALL_UTILISATEUR}/etc/ws-security/samples/dsig-receiver.ks
        • Mot de passe=server
      4. Cliquez sur OK, puis sur WS-Security dans le panneau de navigation de cette page.
    3. Configurez le générateur de signature.
      1. Cliquez sur Authentification et protection > AsymmetricBindingRecipientSignatureToken0 (générateur de signature), puis cliquez sur Appliquer.
      2. Cliquez sur Gestionnaire d'appel.
      3. Spécifiez Fichier de clés=personnalisé.
      4. Cliquez sur Configuration du fichier de clés personnalisé, puis spécifiez
        • Chemin d'accès complet=${RACINE_INSTALL_UTILISATEUR}/etc/ws-security/samples/dsig-receiver.ks
        • Mot de passe du fichier de clés=server
        • Nom=server
        • Alias=soapprovider
        • Mot de passe=server
      5. Cliquez sur OK, OK et OK.
    4. Configurez le consommateur de signature.
      1. Cliquez sur AsymmetricBindingInitiatorSignatureToken0 (consommateur de signature), puis cliquez sur Appliquer.
      2. Cliquez sur Gestionnaire d'appel.
      3. Sous Certificats, cliquez sur le bouton radial Espace de stockage de certificats, puis spécifiez :
        • Espace de stockage de certificats=providerCertStore
        • Espace de stockage d'ancrages sécurisés=providerTrustAnchor
      4. Cliquez sur OK.
      5. Cliquez sur Authentification et protection dans le panneau de navigation de cette page.
    5. Configurez les informations de signature de demande.
      1. Cliquez sur request:app_signparts, puis spécifiez Nom=reqSignInf.
      2. Cliquez sur Apply.
      3. Sous Informations de clé de signature, cliquez sur Nouveau , puis spécifiez :
        • Nom=reqSignKeyInfo
        • Nom du consommateur ou du générateur de jeton=AsymmetricBindingInitiatorSignatureToken0
      4. Cliquez sur OK.
      5. Sous Informations de clé de signature, cliquez sur reqSignKeyinfo, puis cliquez sur Ajouter.
      6. Sous Référence de partie de message, cliquez sur request:app_signparts .
      7. Cliquez sur Editer.
      8. Sous Algorithmes de transformation, cliquez sur Nouveau, puis spécifiez URL=http://www.w3.org/2001/10/xml-exc-c14n#.
      9. Cliquez sur OK, OK et OK.
    6. Configurez les informations de signature de réponse.
      1. Cliquez sur response:app_signparts, puis spécifiez Nom=rspSignInfo.
      2. Cliquez sur Apply.
      3. Sous Informations de clé de signature, cliquez sur Nouveau , puis spécifiez :
        • Nom=rspSignKeyInfo
        • Type=Référence de jeton de sécurité
        • Nom du consommateur ou du générateur de jeton=AsymmetricBindingRecipientSignatureToken0
      4. Cliquez sur OK, puis sur Appliquer.
      5. Sous Référence de partie de message, sélectionnez response:app_signparts .
      6. Cliquez sur Editer.
      7. Sous Algorithmes de transformation, cliquez sur Nouveau.
      8. Spécifiez URL=http://www.w3.org/2001/10/xml-exc-c14n#.
      9. Cliquez sur OK, OK et OK.
  9. Cliquez sur Sauvegarder pour sauvegarder les modifications apportées à la configuration.
  10. Redémarrez le client et le fournisseur.
    1. Arrêtez le client et le fournisseur.
    2. Redémarrez le client et le fournisseur.
  11. Testez le service.
    1. Pointez votre navigateur Web vers JaxWSServicesSamples :
      http://localhost:9080/wssamplesei/demo
      Eviter les incidents Eviter les incidents: Veillez à fournir le nom d'hôte et le port corrects si votre profil ne figure pas sur la même machine ou si le port n'est pas 9080.gotcha
    2. Sélectionnez Message Type Synchronous Echo.
    3. Assurez-vous que l'option Use SOAP 1.2 n'est pas sélectionnée.
    4. Entrez un message, puis cliquez sur Send Message.
    L'exemple d'application doit répondre à l'aide de JAXWS==>Message.

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_xmlds_policyset
Nom du fichier : twbs_xmlds_policyset.html