Configuration des générateurs de jetons à l'aide de JAX-RPC pour protéger l'authenticité des messages au niveau de l'application

Lorsque vous spécifiez les générateurs de jetons au niveau de l'application, les informations sont utilisées côté générateur pour générer le jeton de sécurité.

Avant de commencer

Prenez en compte le fait que les informations de fichier de clés/alias fournies pour le générateur et celles fournies pour le consommateur sont utilisées différemment. La principale différence concerne l'alias d'un gestionnaire d'appel X.509.

Lorsqu'il est utilisé avec un générateur de chiffrement, l'alias fourni pour le générateur permet d'extraire la clé privée afin de déchiffrer le message. Aucun mot de passe n'est requis. L'alias entré sur un gestionnaire d'appel associé à un générateur de chiffrement doit être accessible sans mot de passe. Autrement dit, aucune information de clé privée ne doit être associée à l'alias dans le fichier de clés. Lorsqu'il est utilisé avec un générateur de signature, l'alias fourni pour le générateur permet d'extraire la clé privée afin de signer le message. Un mot de passe est requis.

Pourquoi et quand exécuter cette tâche

Pour configurer le générateur du jeton au niveau de l'application, procédez comme suit :

Procédure

  1. Recherchez le panneau du gestionnaire du jeton dans la console d'administration.
    1. Cliquez sur Applications > Types d'application > Applications d'entreprise WebSphere > nom_application.
    2. Sous Gestion des modules, cliquez sur nom_URI.
    3. Sous Propriétés de sécurité des services Web, vous pouvez accéder aux générateurs du jeton pour les liaisons suivantes :
      • Pour la liaison de générateur de demande (émetteur), cliquez sur Services Web : Liaisons de sécurité du client. Dans la section Liaison du générateur de demande (émetteur), cliquez sur Editer les valeurs personnalisées.
      • Pour la liaison de générateur de réponse (émetteur), cliquez sur Services Web : Liaisons de sécurité du serveur. Sous Liaison du générateur de réponse (émetteur), cliquez sur Editer les valeurs personnalisées.
    4. Dans la section Propriétés supplémentaires, cliquez sur Générateurs de jetons.
    5. Cliquez sur Nouveau pour créer une configuration de générateur de jetons, puis sélectionnez une configuration existante. Cliquez sur Supprimer pour supprimer une configuration ou cliquez sur le nom d'une configuration de générateur de jetons existante pour modifier ses paramètres. Si vous créez une configuration, entrez un nom unique dans la zone Nom du générateur de jetons. Par exemple, vous pouvez spécifier gen_signtgen.
  2. Indiquez un nom de classe dans la zone Nom de classe du générateur de jetons. La classe du générateur de jetons doit implémenter l'interface com.ibm.wsspi.wssecurity.token.TokenGeneratorComponent. Le nom de la classe du générateur de jetons pour le générateur de demande et de réponse doit être similaire à celui de la classe du destinataire de jeton pour le destinataire de demande et de réponse. Par exemple, si l'application requiert un destinataire de jeton du nom d'utilisateur (username token), vous pouvez spécifier le nom de classe com.ibm.wsspi.wssecurity.token.UsernameTokenConsumer dans le panneau du destinataire de jeton au niveau de l'application et le nom de classe com.ibm.wsspi.wssecurity.token.UsernameTokenGenerator dans cette zone.
  3. Facultatif : Sélectionnez une référence de section dans la zone Référence de section. La référence de partie indique le nom du jeton de sécurité défini dans le descripteur de déploiement.
    Important : Au niveau de l'application, si vous ne spécifiez pas un jeton de sécurité dans le descripteur de déploiement, la zone Référence de section ne s'affiche pas. Si vous définissez un jeton de sécurité appelé user_tgen dans le descripteur de déploiement, user_tgen s'affiche en tant qu'option dans la zone Référence de partie. Vous pouvez spécifier un jeton de sécurité dans le descripteur de déploiement lorsque vous assemblez l'application à l'aide d'un outil d'assemblage.
  4. Sélectionnez Aucun ou Informations de signature dédiées pour le chemin d'accès au certificat. Sélectionnez Aucun lorsque le générateur de jetons n'utilise pas le type de jeton PKCS#7. Lorsque le générateur de jetons utilise le type de jeton PKCS#7 et que vous souhaitez intégrer les listes de retrait de certificat (CRL) dans le jeton de sécurité, sélectionnez Informations de signature dédiées et choisissez ensuite un magasin de certificats. Pour configurer un magasin de certificats de collection et des listes de retrait de certificat pour les liaisons de générateur au niveau de l'application, procédez comme suit :
    1. Cliquez sur Applications > Types d'application > Applications d'entreprise WebSphere > nom_application.
    2. Dans la section Articles liés, cliquez sur Modules EJB ou Modules Web > nom_URI.
    3. Sous Propriétés supplémentaires, vous pouvez accéder à la configuration de magasin de certificats de collection pour les liaisons suivantes :
      • Pour la liaison de générateur de demande (émetteur), cliquez sur Services Web : Liaisons de sécurité du client. Dans la section Liaison du générateur de demande (émetteur), cliquez sur Editer les valeurs personnalisées.
      • Pour la liaison de générateur de réponse (émetteur), cliquez sur Services Web : Liaisons de sécurité du serveur. Sous Liaison du générateur de réponse (émetteur), cliquez sur Editer les valeurs personnalisées.
    4. Dans la section Propriétés supplémentaires, cliquez sur Magasin de certificats de collection.

    Voir également les informations sur la configuration d'un magasin de certificats de collection.

  5. Facultatif : Sélectionnez l'option Ajouter nonce. Cette option indique si un élément nonce est inclus dans le jeton du nom d'utilisateur (username token) pour le générateur de jetons. Nonce est un numéro cryptographique unique, incorporé dans un message pour bloquer les attaques à répétition et de jetons de nom d'utilisateur non autorisés. L'option Ajouter nonce est valide uniquement lorsque le type de jeton généré est un jeton du nom d'utilisateur (username token) et elle est disponible uniquement pour la liaison de générateur de demande.
    Si vous sélectionnez l'option Ajouter nonce, vous pouvez spécifier les propriétés ci-dessous dans la section Propriétés supplémentaires. Ces propriétés sont utilisées par le destinataire de demande.
    Tableau 1. Propriétés supplémentaires de l'élément nonce. Utilisez les propriétés nonce pour inclure nonce dans le jeton de nom d'utilisateur.
    Nom de la propriété Valeur par défaut Explication
    com.ibm.ws.wssecurity.config.token. BasicAuth.Nonce.cacheTimeout 600 secondes Indique le délai d'expiration, en secondes, de la valeur nonce mise en mémoire cache sur le serveur.
    com.ibm.ws.wssecurity.config.token. BasicAuth.Nonce.clockSkew 0 seconde Indique le temps en secondes avant expiration de l'horodatage nonce.
    com.ibm.ws.wssecurity.config.token. BasicAuth.Nonce.maxAge 300 secondes Indique en secondes la valeur de décalage d'horloge à prendre en compte lorsque WebSphere Application Server vérifie l'ancienneté du message.
    Au niveau de la cellule et du serveur, vous pouvez spécifier ces propriétés supplémentaires pour un élément nonce dans le panneau Liaisons par défaut pour la sécurité des services Web, accessible à partir de la console d'administration.
    • Pour le niveau cellule, cliquez sur Sécurité > Services Web.
    • Pour le niveau serveur, cliquez sur Serveurs > Types de serveurs > Serveurs d'applications WebSphere > nom_serveur. Sous Sécurité, cliquez sur Modules d'exécution de sécurité JAX-WS et JAX-RPC.
      Environnement de version mixte Environnement de version mixte: Dans une cellule de noeud mixte comportant un serveur WebSphere Application Server de version 6.1 ou antérieure, cliquez sur Services Web : Liaisons par défaut pour la sécurité des Services Web.mixv
  6. Facultatif : Sélectionnez l'option Ajouter l'horodatage. Cette option indique s'il convient d'insérer un horodatage dans le jeton du nom d'utilisateur (username token). L'option Ajouter l'horodatage est valide uniquement lorsque le type de jeton généré est un jeton du nom d'utilisateur (username token) et elle est disponible uniquement pour la liaison de générateur de demande.
  7. Indiquez le nom local du type de valeur dans la zone Nom local. Pour un jeton de nom d'utilisateur et un jeton de sécurité de certificat X.509, WebSphere Application Server fournit les noms locaux prédéfinis pour le type de valeur. Il n'est pas nécessaire de spécifier un URI de type de valeur lorsque vous définissez l'un des noms locaux suivants :
    http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#UsernameToken
    Ce nom local indique un jeton du nom d'utilisateur (username token).
    http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3
    Ce nom local indique un jeton de certificat X.509.
    http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509PKIPathv1
    Ce nom local indique des certificats X.509 dans un chemin PKI (public key infrastructure).
    http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#PKCS7
    Ce nom local indique une liste de certificats X.509 et des listes de retrait de certificat au format PKCS#7.

    Pour un jeton LTPA, vous pouvez utiliser LTPA pour le nom local de type de valeur et http://www.ibm.com/websphere/appserver/tokentype/5.0.2 pour l'URI (Uniform Resource Identifier) de type de valeur. Pour la propagation de jetons LTPA, vous pouvez utiliser LTPA_PROPAGATION comme nom local du type de valeur et http://www.ibm.com/websphere/appserver/tokentype comme URI du type de valeur.

  8. Facultatif : Indiquez l'URI du type de valeur dans la zone URI. Cette entrée indique l'URI de l'espace de nom du type de valeur pour le jeton généré.
  9. Cliquez sur OK et sur Sauvegarder pour enregistrer la configuration.
  10. Cliquez sur le nom de la configuration de générateur de jeton.
  11. Dans la section Propriétés supplémentaires, cliquez sur Gestionnaire d'appel.
  12. Indiquez les paramètres du gestionnaire d'appel.
    1. Indiquez un nom de classe dans la zone Nom de la classe du gestionnaire d'appel. Ce nom de classe est celui de la classe d'implémentation du gestionnaire d'appel qui a été utilisée pour connecter une structure de jeton de sécurité. La classe du gestionnaire d'appel spécifiée doit implémenter l'interface javax.security.auth.callback.CallbackHandler et doit fournir un constructeur en utilisant la syntaxe suivante :
      MyCallbackHandler(String nom_utilisateur, char[] mot_de_passe, java.util.Map properties)
      Où :
      nom_utilisateur
      Indique le nom d'utilisateur transmis dans la configuration.
      mot de passe
      Indique le mot de passe transmis dans la configuration.
      propriétés
      Indique les autres propriétés de configuration transmises dans la configuration.
      Ce constructeur est requis si le gestionnaire d'appel a besoin d'un nom d'utilisateur et d'un mot de passe. Cependant, si le gestionnaire d'appel ne requiert pas de nom d'utilisateur et de mot de passe, comme c'est le cas de X509CallbackHandler, utilisez un constructeur respectant la syntaxe suivante :
      MyCallbackHandler(java.util.Map properties)
      WebSphere Application Server fournit les implémentations de gestionnaire d'appel par défaut suivantes :
      com.ibm.wsspi.wssecurity.auth.callback.GUIPromptCallbackHandler
      Ce gestionnaire d'appel utilise une invite de connexion pour collecter les informations de nom d'utilisateur et de mot de passe. Toutefois, si vous indiquez le nom d'utilisateur et le mot de passe dans ce panneau, aucune invite ne s'affiche et WebSphere Application Server renvoie le nom d'utilisateur et le mot de passe au générateur de jetons. Utilisez cette implémentation pour un client d'application Java™ EE (Java Platform, Enterprise Edition) uniquement. Si vous utilisez cette implémentation, vous devez fournir un ID utilisateur et un mot de passe d'authentification de base dans ce panneau.
      com.ibm.wsspi.wssecurity.auth.callback.NonPromptCallbackHandler
      Ce gestionnaire d'appel n'affiche pas d'invite et renvoie le nom d'utilisateur et le mot de passe si ces derniers sont spécifiés dans ce panneau. Vous pouvez utiliser ce gestionnaire d'appel lorsque le service Web assure la fonction de client. Si vous utilisez cette implémentation, vous devez fournir un ID utilisateur et un mot de passe d'authentification de base dans ce panneau.
      com.ibm.wsspi.wssecurity.auth.callback.StdinPromptCallbackHandler
      Ce gestionnaire d'appel utilise une invite de connexion standard pour collecter le nom d'utilisateur et le mot de passe. Toutefois, si vous indiquez le nom d'utilisateur et le mot de passe dans ce panneau, WebSphere Application Server n'affiche aucune fenêtre mais renvoie le nom d'utilisateur et le mot de passe au générateur de jeton. Utilisez cette implémentation pour un client d'application Java EE (Java Platform, Enterprise Edition) uniquement. Si vous utilisez cette implémentation, vous devez fournir un ID utilisateur et un mot de passe d'authentification de base dans ce panneau.
      com.ibm.wsspi.wssecurity.auth.callback.LTPATokenCallbackHandler
      Ce gestionnaire d'appel permet d'obtenir le jeton de sécurité LTPA (Lightweight Third Party Authentication) à partir du sujet RunAs de l'appel. Ce jeton est inséré dans l'en-tête de sécurité des services Web du message SOAP en tant que jeton de sécurité binaire. Toutefois, si vous indiquez le nom d'utilisateur et le mot de passe dans ce panneau, WebSphere Application Server authentifie les valeurs indiquées pour obtenir le jeton de sécurité LTPA au lieu de l'extraire du sujet Run As. Utilisez ce gestionnaire d'appel uniquement lorsque le service Web assure la fonction de client sur le serveur d'applications. Il est déconseillé d'utiliser ce gestionnaire d'appel sur un client d'application Java EE. Si vous utilisez cette implémentation, vous devez fournir un ID utilisateur et un mot de passe d'authentification de base dans ce panneau.
      com.ibm.wsspi.wssecurity.auth.callback.X509CallbackHandler
      Ce gestionnaire d'appel permet de créer le certificat X.509 inséré dans l'en-tête WS-Security au sein du message SOAP sous forme de jeton de sécurité. Un fichier de clés et une définition de clé sont requis pour ce gestionnaire d'appel. Si vous utilisez cette implémentation, vous devez fournir un mot de passe, chemin et type de fichier de clés dans ce panneau.
      com.ibm.wsspi.wssecurity.auth.callback.PKCS7CallbackHandler
      Ce gestionnaire d'appel permet de créer des certificats X.509 au format PKCS#7. Le certificat est inséré dans l'en-tête de sécurité des services Web du message SOAP en tant que jeton de sécurité binaire. Un fichier de clés est requis pour ce gestionnaire d'appel. Vous pouvez spécifier une liste de retrait de certificat (CRL) dans le magasin de certificats de collection. La liste CRL est chiffrée avec le certificat X.509 au format PKCS#7. Si vous utilisez cette implémentation, vous devez fournir un mot de passe, chemin et type de fichier de clés dans ce panneau.
      com.ibm.wsspi.wssecurity.auth.callback.PkiPathCallbackHandler
      Ce gestionnaire d'appel permet de créer des certificats X.509 au format PkiPath. Le certificat est inséré dans l'en-tête de sécurité des services Web du message SOAP en tant que jeton de sécurité binaire. Un fichier de clés est requis pour ce gestionnaire d'appel. La liste CRL n'est pas prise en charge par ce gestionnaire d'appel ; le magasin de certificats de collection n'est donc pas requis ni utilisé. Si vous utilisez cette implémentation, vous devez fournir un mot de passe, chemin et type de fichier de clés dans ce panneau.

      L'implémentation du gestionnaire d'appel obtient le jeton de sécurité requis et le transmet au générateur de jetons. Ce dernier insère le jeton de sécurité dans l'en-tête de sécurité des services Web du message SOAP. Le générateur de jetons représente également un point de connexion pour la structure de jeton de sécurité intégrable. Les fournisseurs de services peuvent offrir leur propre implémentation à condition que cette dernière utilise l'interface com.ibm.wsspi.wssecurity.token.TokenGeneratorComponent.

    2. Facultatif : Sélectionnez l'option Utiliser la vérification d'identité. Sélectionnez cette option si la vérification d'identité est définie dans le descripteur de déploiement étendu IBM®. Cette option indique que seule l'identité de l'émetteur initial est requise et insérée dans l'en-tête de sécurité des services Web du message SOAP. Par exemple, WebSphere Application Server envoie uniquement le nom d'utilisateur de l'appelant d'origine pour un générateur de jeton du nom d'utilisateur. Pour un générateur de jetons X.509, le serveur d'applications envoie uniquement la certification du signataire d'origine.
    3. Facultatif : Sélectionnez l'option Utiliser l'identité RunAs. Sélectionnez cette option si la vérification d'identité est définie dans le descripteur de déploiement étendu IBM et que vous souhaitez utiliser l'identité RunAs plutôt que l'identité de l'appelant initial pour la vérification d'identité dans un appel en aval. Cette option est valide uniquement si vous avez configuré un générateur de jetons du nom d'utilisateur (Username TokenGenerator) comme générateur de jetons.
    4. Facultatif : Spécifiez l'ID utilisateur d'authentification de base dans la zone ID utilisateur d'authentification de base. Cette entrée indique le nom d'utilisateur transmis aux constructeurs de l'implémentation du gestionnaire d'appel. Le nom d'utilisateur et le mot de passe d'authentification de base sont utilisés si vous avez spécifié l'une des implémentations de gestionnaire d'appel par défaut suivantes dans la zone Nom de la classe du gestionnaire d'appel :
      • com.ibm.wsspi.wssecurity.auth.callback.GUIPromptCallbackHandler
      • com.ibm.wsspi.wssecurity.auth.callback.NonPromptCallbackHandler
      • com.ibm.wsspi.wssecurity.auth.callback.StdinPromptCallbackHandler
      • com.ibm.wsspi.wssecurity.auth.callback.LTPATokenCallbackHandler
    5. Facultatif : Spécifiez le mot de passe d'authentification de base dans la zone Mot de passe d'authentification de base. Cette entrée indique le mot de passe transmis aux constructeurs de l'implémentation du gestionnaire d'appel.
    6. Facultatif : Indiquez le mot de passe du fichier de clés dans la zone Mot de passe du fichier de clés. Cette entrée indique le mot de passe utilisé pour accéder au fichier de clés. Le fichier de clés et sa configuration sont utilisés si vous sélectionnez l'une des implémentations du gestionnaire d'appel par défaut suivantes, fournies par WebSphere Application Server :
      com.ibm.wsspi.wssecurity.auth.callback.PKCS7CallbackHandler
      Le fichier de clés permet de générer le certificat X.509 avec le chemin d'accès au certificat.
      com.ibm.wsspi.wssecurity.auth.callback.PkiPathCallbackHandler
      Le fichier de clés permet de générer le certificat X.509 avec le chemin d'accès au certificat.
      com.ibm.wsspi.wssecurity.auth.callback.X509CallbackHandler
      Le fichier de clés permet d'extraire le certificat X.509.
    7. Facultatif : Indiquez le chemin d'accès au fichier de clés dans la zone Chemin d'accès. Il est conseillé d'utiliser ${USER_INSTALL_ROOT} dans le nom du chemin d'accès étant donné que cette variable précède le chemin WebSphere Application Server sur votre machine. Pour modifier le chemin d'accès utilisé par cette variable, cliquez sur Environnement > Variables WebSphere, puis sur USER_INSTALL_ROOT. Cette zone est requise lorsque vous utilisez les implémentations de gestionnaire d'appelcom.ibm.wsspi.wssecurity.auth.callback.PKCS7CallbackHandler, com.ibm.wsspi.wssecurity.auth.callback.PkiPathCallbackHandler ou com.ibm.wsspi.wssecurity.auth.callback.X509CallbackHandler.
    8. Facultatif : Sélectionnez le type du fichier de clés dans la zone Type. Cette sélection indique le format utilisé par le fichier de clés. Vous pouvez sélectionner l'une des valeurs suivantes pour cette zone :
      JKS
      Utilisez cette option si le fichier de clés à la format JKS (Java Keystore).
      JCEKS
      Utilisez cette option si Java Cryptography Extension est configuré dans le kit SDK (Software Development Kit). L'extension IBM JCE est configurée dans WebSphere Application Server. Cette option offre une protection plus efficace pour les clés privées mémorisées en faisant appel au chiffrement Triple DES.
      JCERACFKS
      Utilisez JCERACFKS si les certificats sont stockés dans un fichier de clés SAF (z/OS uniquement).
      PKCS11KS (PKCS11)
      Utilisez cette option si votre fichier de clés utilise le format de fichier PKCS#11. Les fichiers de clés utilisant ce format peuvent contenir des clés RSA stockées sur du matériel de chiffrement, ou bien ils peuvent chiffrer des clés qui utilisent du matériel de ce type pour assurer la protection.
      PKCS12KS (PKCS12)
      Utilisez cette option si votre fichier de clés utilise le format de fichier PKCS#12.
  13. Cliquez sur OK, puis sur Sauvegarder pour enregistrer la configuration.
  14. Cliquez sur le nom de la configuration de générateur de jeton.
  15. Dans la section Propriétés supplémentaires, cliquez sur Gestionnaire de rappels > Clés.
  16. Spécifiez le nom, l'alias et le mot de passe des clés.
    1. Cliquez sur Nouveau pour créer une configuration de clé, cliquez sur Supprimer pour supprimer une configuration ou cliquez sur le nom d'une configuration de clé pour modifier ses paramètres. Si vous créez une configuration, entrez un nom unique dans la zone Nom de clé. Pour les signatures numériques, le nom de clé est utilisé par les informations de signature du générateur de demande ou de réponse pour déterminer quelle clé utiliser pour signer numériquement le message. Pour le chiffrement, le nom de clé est utilisé pour déterminer quelle clé utiliser. Le nom de clé doit être un nom distinctif qualifié complet. Par exemple, CN=Bob,O=IBM,C=US.
    2. Indiquez l'alias dans la zone Alias de clé. L'alias de clé est utilisé par le localisateur de clé pour rechercher la clé dans le fichier de clés.
    3. Indiquez le mot de passe de clé dans la zone Mot de passe de clé. Ce mot de passe est nécessaire pour accéder à l'objet clé dans le fichier de clés.
  17. Cliquez sur OK et sur Sauvegarder pour enregistrer la configuration.

Résultats

Vous avez configuré le gestionnaire de jeton au niveau de l'application.

Que faire ensuite

Vous devez spécifier une configuration de destinataire de jeton similaire au niveau de l'application.

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_configtokengenapp
Nom du fichier : twbs_configtokengenapp.html