Paramètres du gestionnaire d'appel pour JAX-WS

Cette page permet de configurer les paramètres du gestionnaire d'appel pour JAX-WS qui déterminent le mode d'acquisition des jetons de sécurité à partir des en-têtes des messages.

Vous pouvez configurer les paramètres du gestionnaire d'appel lorsque vous modifiez une liaison de cellule ou de serveur par défaut. Vous pouvez également configurer des liaisons spécifiques à l'application pour les jetons et les parties de message requis par l'ensemble de règles.

Eviter les incidents Eviter les incidents: Avant de spécifier des valeurs pour les propriétés Fichier de clés et Clé sur cette page, vous devez savoir que les informations de fichier de clés/alias fournies pour le générateur et celles fournies pour l'utilisateur sont employées pour différentes raisons. La principale différence s'applique à l'alias d'un gestionnaire d'appel X.509 : gotcha
Générateur
Lorsqu'il est utilisé avec un générateur de chiffrement, l'alias fourni pour le générateur permet d'extraire la clé publique afin de 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.
Eviter les incidents Eviter les incidents: Etant donné qu'un alias utilisé pour signer un message requiert un mot de passe et qu'un alias utilisé pour chiffrer un message exige qu'il n'y ait pas de mot de passe, vous ne pouvez pas utiliser le même alias pour un générateur de signature et un générateur de chiffrement.gotcha
Consommateur
Lorsqu'il est utilisé avec un consommateur de chiffrement, l'alias fourni pour le consommateur permet d'extraire la clé privée afin de déchiffrer le message. Un mot de passe est requis.

Lorsqu'il est utilisé avec un consommateur de signature, l'alias fourni pour le consommateur permet uniquement d'extraire la clé publique utilisée pour résoudre un certificat X.509 qui n'est pas transmis dans l'en-tête de sécurité SOAP en tant que jeton BinarySecurityToken. Aucun mot de passe n'est requis.

L'alias entré sur un gestionnaire d'appel associé à un consommateur de signature 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'un certificat X.509 qui n'est pas transmis dans l'en-tête de sécurité SOAP en tant que jeton BinarySecurityToken, une référence SecurityTokenReference apparaîtra dans l'élément KeyInfo au sein de l'élémentSignature dans l'en-tête de sécurité SOAP qui sera utilisé pour résoudre le certificat X.509. Les méthodes pouvant être utilisées sont Identificateur de clé, Nom et numéro de l'émetteur X509 et Empreinte. Le consommateur accepte une de ces méthodes pour la résolution d'un certificat X.509 hors du message lorsqu'un fichier de clés/alias est configuré pour un consommateur de jeton X.509 associé à un consommateur de signature. Le consommateur de jeton X.509 ne résout pas automatiquement les certificats qui apparaissent hors du message en entrées dans un magasin de clés. Les certificats qui seront utilisés doivent être connus au moment de la configuration et codés en dur dans le gestionnaire d'appel du consommateur de jeton X.509.

Dans le cadre de la résolution de certificats X.509 hors du message, vous pouvez résoudre plusieurs certificats si vous utilisez des liaisons générales, mais un seulement si vous utilisez des liaisons propres à l'application. Un certificat seulement peut être résolu hors du message lorsque des liaisons propres à l'application sont utilisées car, dans les liaisons propres à l'application, un seul consommateur de jeton X.509 peut être utilisé. Par conséquent, il n'existe qu'un seul alias et un certificat seulement peut être résolu. Par exemple, si le consommateur de jeton X.509 est configuré pour le certificat A, si le client A envoie l'élément keyIdentifier pour le certificat A, le certificat peut être extrait. Toutefois, si le client B envoie l'élément keyIdentifier pour le certificat B, il n'est pas possible d'extraire le certificat et le message sera refusé.

Lorsque des liaisons générales sont utilisées, plusieurs consommateurs de jeton X.509 peuvent être créés, sur lesquels des certificats différents sont configurés (magasin de clés/alias). Tous les consommateurs de jeton X.509 associés aux certificats à résoudre sont associés aux informations de clé de signature de votre configuration de partie signée dans les liaisons.

Lorsqu'un certificat X.509 est envoyé à l'en-tête de sécurité SOAP en tant qu'élément BinarySecurityToken, s'il existe un fichier de clés/alias configuré sur le consommateur de jeton X.509 associé à un consommateur de signature, le certificat configuré sur le consommateur sera comparé à celui transmis dans le message. S'ils ne sont pas identiques, le message sera refusé. Ce comportement est différent de celui de JAX-RPC. Le certificat associé à l'alias configuré sur le consommateur de jeton X.509 ne permet pas d'évaluer la relation de confiance sur le certificat entrant. Seul le fichier de clés et le magasin de certificats sont utilisés à cette fin.

Si vous souhaitez que le certificat configuré sur le consommateur de jeton X.509 associé à un consommateur de signature soit disponible pour la résolution KeyInfo mais qu'il ne refuse pas les certificats X.509 transmis dans le message, vous pouvez ajouter la propriété personnalisée suivante au gestionnaire d'appel de consommateur de jeton X.509 :
com.ibm.wsspi.wssecurity.consumer.callbackHandlerKeystoreLimitsAccess=false
Eviter les incidents Eviter les incidents: Etant donné qu'un alias utilisé pour déchiffrer un message requiert un mot de passe et qu'un alias utilisé pour vérifier une signature exige qu'il n'y ait pas de mot de passe, vous ne pouvez pas utiliser le même alias pour un consommateur de signature et un consommateur de chiffrement.gotcha
Vérification des clés
Eviter les incidents Eviter les incidents: Vous pouvez utiliser l'application keytool pour vérifier que le type de l'alias que vous souhaitez configurer pour un consommateur de jeton X.509 ou un gestionnaire d'appel de générateur est approprié.
L'application keytool est installée avec le serveur d'applications dans le répertoire (wasHome)/bin. Si vous exécutez 'keytool' sans indiquer de paramètres, la syntaxe apparaît. Exemple d'appel de l'application keytool :
keytool -list -v -keystore myKeystore.p12 -storepass myPassword -storetype PKCS12

Utilisez l'application keytool pour afficher le contenu de votre magasin de clés, puis vérifiez que le type d'entrée de votre alias est cohérent avec l'utilisation souhaitée. Si vous configurez une entrée qui nécessite une clé privée, le type d'entrée doit être keyEntry. Si vous configurez une entrée qui nécessite une clé publique, le type d'entrée doit être trustedCertEntry.

gotcha
Pour afficher cette page de la console d'administration lorsque vous modifiez une liaison de cellule générale, procédez comme suit :
  1. Cliquez sur Services > Ensembles de règles > Liaisons de l'ensemble de règles par défaut. Le panneau des liaisons indique la liaison par défaut, par exemple Exemple de liaison de fournisseur.
  2. Pour modifier la liaison par défaut, cliquez sur Services > Ensembles de règles > Liaisons générales de l'ensemble de règles du fournisseur.
  3. Cliquez sur le nom de la liaison par défaut défini dans la première étape. Par exemple, Exemple de fournisseur.
  4. Cliquez sur la règle WS-Security dans la table des règles.
  5. Cliquez sur le lien Authentification et protection dans la section Liaisons de la règle de sécurité du message principal.
  6. Cliquez sur le lien nom_jeton dans la section Jetons de protection ou Jetons d'authentification.
  7. Cliquez sur le lien Gestionnaire d'appel.
Pour afficher cette page de la console d'administration lorsque vous configurez des liaisons spécifiques à une application pour les jetons et les parties de message requis par l'ensemble de règles, procédez comme suit :
  1. Cliquez sur Applications > Types d'application > Applications WebSphere Enterprise.
  2. Sélectionnez une application contenant des services Web. Cette application doit contenir un fournisseur de services ou un client de service.
  3. Cliquez sur le lien Liaisons et ensembles de règles du fournisseur de services ou Liaisons et ensembles de règles de client de services dans la section Propriétés du service Web.
  4. Sélectionnez une liaison. Au préalable, il est nécessaire d'associer un ensemble de règles et d'affecter une liaison spécifique à l'application.
  5. Cliquez sur la règle WS-Security dans la table des règles.
  6. Cliquez sur le lien Authentification et protection dans la section Liaisons de la règle de sécurité du message principal.
  7. Cliquez sur le lien nom_jeton dans la section Jetons de protection ou Jetons d'authentification.
  8. Cliquez sur le lien Gestionnaire d'appel.

Cette page de la console d'administration s'applique uniquement aux applications JAX-WS (Java™ API for XML Web Services).

Le gestionnaire d'appel affiche des zones particulières pour les différents jetons configurés. Suivant que vous configurez des jetons de générateur ou de consommateur pour la protection, ou des jetons sortants ou entrants pour l'authentification, les sections et les zones de cette fenêtre affichent tout ou partie des zones décrites dans cette rubrique, comme le précise la description de chacune des zones.

Nom de classe

Les zones de la section Nom de classe sont disponibles pour tous les types de configuration de jeton.

Sélectionnez le nom de classe à utiliser pour le gestionnaire d'appel. Sélectionnez l'option Utiliser l'élément intégré par défaut pour assurer un fonctionnement normal. Utilisez l'option Utiliser un nom de classe personnalisé uniquement si vous utilisez un type de jeton personnalisé.

Pour le type de jeton Kerberos personnalisé, utilisez le nom de classe com.ibm.websphere.wssecurity.callbackhandler.KRBTokenGenerateCallbackHandler pour la configuration du générateur de jetons. Utilisez com.ibm.websphere.wssecurity.callbackhandler.KRBTokenConsumeCallbackHandler pour la configuration du destinataire de jeton.

Utiliser l'élément intégré par défaut

Indique que la valeur par défaut est utilisée pour le nom de classe. Utilisez la valeur par défaut (affichée dans la zone) pour le nom de classe lorsque vous sélectionnez ce bouton radio. Ce nom dépend du type de jeton et du fait que le gestionnaire d'appel est défini pour un générateur ou un destinataire de jeton. Cette option et l'option Utiliser un nom de classe personnalisé s'excluent mutuellement.

Utiliser un nom de classe personnalisé

Indique qu'une valeur personnalisée est utilisée pour le nom de classe. Sélectionnez ce bouton radio et entrez le nom dans la zone pour utiliser un nom de classe personnalisé.

Aucune valeur par défaut n'est disponible pour cette zone d'entrée. Utilisez les informations du tableau ci-dessous pour déterminer cette valeur :

Tableau 1. Noms de classes personnalisés du gestionnaire d'appel et types de jetons associés. Le gestionnaire d'appel détermine la façon dont les jetons de sécurité sont obtenus à partir des en-têtes des messages.
Type de jeton Consommateur ou générateur Nom de classe du gestionnaire d'appel
UsernameToken (Jeton de nom d'utilisateur) consommateur com.ibm.websphere.wssecurity.callbackhandler.UNTConsumeCallbackHandler
UsernameToken (Jeton de nom d'utilisateur) générateur com.ibm.websphere.wssecurity.callbackhandler.UNTGenerateCallbackHandler
X509Token consommateur com.ibm.websphere.wssecurity.callbackhandler.X509ConsumeCallbackHandler
X509Token générateur com.ibm.websphere.wssecurity.callbackhandler.X509GenerateCallbackHandler
LTPAToken/LTPAPropagationToken consommateur com.ibm.websphere.wssecurity.callbackhandler.LTPAConsumeCallbackHandler
LTPAToken/LTPAPropagationToken générateur com.ibm.websphere.wssecurity.callbackhandler.LTPAGenerateCallbackHandler
SecureConversationToken consommateur com.ibm.ws.wssecurity.impl.auth.callback.SCTConsumeCallbackHandler
SecureConversationToken générateur com.ibm.ws.wssecurity.impl.auth.callback.WSTrustCallbackHandler

Ce bouton et l'option Utiliser l'élément intégré par défaut s'excluent mutuellement.

Certificats (générateur)

Les zones de la section Certificats sont disponibles si vous configurez un jeton de protection. Pour un jeton de générateur, vous pouvez cliquer pour sélectionner un espace de stockage de certificats dans la liste ou sur le bouton Nouveau pour ajouter un espace de stockage de certificats.

Certificats (consommateur)

Les zones de la section Certificats sont disponibles si vous configurez un jeton de protection. Pour un jeton de consommateur, vous pouvez utiliser les option Faire confiance à tous les certificats ou Espace de stockage de certificats.

Certificats - Faire confiance à tous les certificats (consommateur)

Cette option s'applique uniquement au consommateur de jeton. Elle indique que le système fait confiance à tous les certificats et ne définit pas un espace de stockage de certificats spécifique. Cette option et l'option d'espace de stockage de certificats s'excluent mutuellement.

Certificats - Espace de stockage de certificats (consommateur)

Cette option s'applique uniquement au consommateur de jeton. Utilisez-la pour définir une collection d'espaces de stockage de certificats contenant des certificats intermédiaires qui peuvent englober une liste de révocation de certificats. Sélectionnez cette option pour sécuriser le ou les espaces de stockage de certificats définis dans la zone d'entrée. Cette option et l'option Faire confiance à tous les certificats s'excluent mutuellement. Lorsque vous sélectionnez l'option Espace de stockage de certificats, le bouton Nouveau est activé pour vous permettre de configurer un nouvel espace de stockage de certificats et un magasin d'ancres sécurisées.

Vous pouvez entrer la valeur par défaut Aucun dans la zone d'espace de stockage de certificats. Toutefois, vous devez définir une valeur spécifique pour le magasin d'ancrages sécurisés. Il n'existe pas de valeur par défaut. L'ancrage sécurisé est nécessaire si l'option Faire confiance à tous les certificats n'est pas sélectionnée.

Authentification de base

Les zones de la section Authentification de base sont disponibles si vous configurez un jeton d'authentification qui n'est pas un jeton de propagation LTPA.

Pour le type de jeton Kerberos personnalisé, vous devez renseigner la section Authentification de base pour la connexion Kerberos.

Nom d'utilisateur

Indique le nom de l'utilisateur à authentifier.

Mot de passe

Indique le mot de passe à authentifier. Entrez un mot de passe à authentifier dans cette zone d'entrée.

Confirmation du mot de passe

Indique le mot de passe à confirmer.

Fichier de clés

Les zones de fichier de clés ne sont pas disponibles lorsque l'environnement d'exécution détermine qu'elles ne sont pas nécessaires.

Dans la liste des noms de fichier de clés, vous pouvez cliquer sur Personnalisé pour définir un fichier de clés personnalisé, cliquez sur l'un des noms de fichier de clés définis en externe, ou cliquez sur Aucun si aucun fichier de clés n'est requis.

Fichier de clés – Nom

Spécifie le nom du fichier de clés à utiliser.

Cliquez sur le nom d'un fichier de clés dans ce menu ou sélectionnez l'une des valeurs suivantes :
Aucun
Indique de ne pas utiliser de fichier de clés.
Personnalisé
Indique d'utiliser un fichier de clés défini par l'utilisateur. Cliquez sur le lien Configuration du fichier de clés personnalisée pour configurer le fichier de clés personnalisé et les paramètres de clé.

Key

Spécifie les attributs de la clé à extraire du fichier de clés configuré. Certaines zones de la section Clé ne sont pas disponibles lorsque l'environnement d'exécution détermine qu'elles ne sont pas nécessaires.

Lorsqu'un fichier de clés géré centralement est sélectionné pour le fichier de clés, les zones de la section Clé sont disponibles.

Nom

Indique le nom de la clé à utiliser. Les clés disponibles dans le fichier de clés géré centralement sélectionné sont intégrées à la liste. Sélectionnez le nom de la clé à utiliser ou '(aucun)'.

Alias

Affiche l'alias du nom de la clé sélectionnée

Mot de passe

Indique le mot de passe pour la clé à utiliser. Cette zone est disponible uniquement lorsque l'environnement d'exécution détermine qu'elle est nécessaire.

Vous ne pouvez pas définir de mot de passe relatif aux clés publiques pour le générateur de chiffrement asymétrique ou le consommateur de signature asymétrique. Consultez la section décrivant comment éviter les situations problématiques au début de l'article.

Confirmation du mot de passe

Indique le mot de passe de confirmation pour la clé à utiliser. Cette zone est disponible uniquement lorsque l'environnement d'exécution détermine qu'elle est nécessaire.

Vous n'avez pas à fournir de mot de passe de confirmation relatif aux clés publiques pour le chiffrement sortant ou la signature sortante asymétrique.

Fichier de clés – Configuration du fichier de clés personnalisé

Indique un lien pour la création d'un fichier de clés personnalisé. Cliquez sur ce lien pour ouvrir une fenêtre permettant de configurer un fichier de clés personnalisé.

Mot de passe du fichier de clés

Indique le mot de passe d'accès au fichier de clés.

Chemin du fichier de clés

Indique l'emplacement du fichier de clés.

Il est recommandé d'utiliser ${USER_INSTALL_ROOT} dans le nom du chemin car cette variable s'étend jusqu'au chemin du produit sur votre système. Pour modifier le chemin utilisé par cette variable, cliquez sur Environnement > Variables WebSphere et cliquez sur USER_INSTALL_ROOT.

Type de fichier de clés

Indique le type de format du fichier de clés.

Choisissez l'une des valeurs suivantes pour cette zone :
JKS
Utilisez cette option si le fichier de clés a le format JKS (Java Keystore).
JCEKS
Utilisez cette option si Java Cryptography Extension est configuré dans le kit SDK (Software Development Kit). Par défaut, l'extension IBM® JCE est configurée dans le serveur d'applications. Cette option offre une protection plus efficace pour les clés privées mémorisées en faisant appel au chiffrement Triple DES.
[z/OS]JCERACFKS
[z/OS]Utilisez JCERACFKS si les certificats sont stockés dans un fichier de clés SAF (z/OS uniquement).
PKCS12KS (PKCS12)
Sélectionnez cette option si votre fichier de clés utilise le format de fichier PKCS#12.

les propriétés personnalisées.

Les zones de la section Propriétés personnalisées sont disponibles pour tous les types de configuration de jeton.

Vous pouvez ajouter des propriétés personnalisées requises par le gestionnaire d'appel à l'aide de paires nom-valeur.

Pour implémenter le chiffrement des certificats de signataire quand vous utilisez le modèle de programmation JAX-WS, ajoutez la propriété personnalisée com.ibm.wsspi.wssecurity.token.cert.useRequestorCert avec la valeur true dans le gestionnaire d'appel du générateur de jetons de chiffrement. Cette implémentation utilise le certificat du signataire de la demande SOAP pour chiffrer la réponse SOAP. Cette propriété personnalisée est utilisée par le générateur de réponse.

Pour un jeton Kerberos personnalisé basé sur OASIS Web Services Security Specification for Kerberos Token Profile V1.1, spécifiez la propriété suivante pour la génération du jeton : com.ibm.wsspi.wssecurity.krbtoken.clientRealm. Définit le nom du domaine Kerberos associé au client et permet au domaine de lancer la connexion Kerberos. S'il n'est pas indiqué, le nom de domaine Kerberos par défaut est utilisé. Cette propriété est facultative pour un environnement de domaine Kerberos unique.

La propriété personnalisée Kerberos com.ibm.wsspi.wssecurity.krbtoken.loginPrompt permet de réaliser la connexion Kerberos lorsque la valeur est true. La valeur par défaut est false. Cette propriété est facultative.

Lorsque vous configurez un jeton de nom d'utilisateur pour le modèle de programmation JAX-WS, il est fortement recommandé d'ajouter les propriétés personnalisées suivantes à la configuration du gestionnaire d'appel disposer d'une protection contre les attaques de type replay. Ces propriétés personnalisées activent et vérifient le nonce et l'horodatage pour l'authentification des messages.
Nom de la propriété (générateur) Valeur de la propriété
com.ibm.wsspi.wssecurity.token.username.addNonce true
com.ibm.wsspi.wssecurity.token.username.addTimestamp true
Nom de la propriété (consommateur) Valeur de la propriété
com.ibm.wsspi.wssecurity.token.username.verifyNonce true
com.ibm.wsspi.wssecurity.token.username.verifyTimestamp true

Nom

Indique le nom de la propriété personnalisée à utiliser.

Les propriétés personnalisées ne sont pas initialement affichées dans cette colonne. Cliquez sur l'une des actions ci-dessous pour les propriétés personnalisées :

Bouton Résultat
Nouveau Crée une entrée de propriété personnalisée. Pour ajouter une propriété personnalisée, entrez le nom et la valeur.
Supprimer Supprime la propriété personnalisée sélectionnée.

Value

Indique la valeur de la propriété personnalisée à utiliser. Dans la zone d'entrée Valeur, vous pouvez entrer ou supprimer la valeur d'une propriété personnalisée.


Icône indiquant le type de rubrique Rubrique de référence



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