Configuration de votre application Web et du serveur pour l'authentification par certificat client

Vous pouvez configurer votre application Web dans le profil Liberty en vue de l'utilisation de l'authentification client SSL.

Avant de commencer

Cette rubrique suppose que vous avez déjà créé les certificats SSL, par exemple, en suivant les instructions de la section Création de certificats SSL depuis la ligne de commande.

Pourquoi et quand exécuter cette tâche

L'authentification par certificat client a lieu si le côté serveur exige du côté client qu'il envoie un certificat. Un serveur WebSphere peut être configuré pour l'authentification par certificat client dans la configuration SSL. Pour ce faire, vous ajoutez la fonction Liberty ssl-1.0 au fichier server.xml, avec le code qui indique au serveur les informations de fichier de clés pour l'authentification.

Pour savoir quels aspects de SSL sont pris en charge, voir Fonctions Liberty.

Procédure

  1. Assurez-vous que le descripteur de déploiement de votre application Web spécifie l'authentification par certificat client comme méthode d'authentification.
    Vérifiez que le descripteur de déploiement inclut l'élément suivant :
    <auth-method>CLIENT-CERT</auth-method>
    Remarque : Vous pouvez utiliser un outil tel que Rational Application Developer pour créer le descripteur de déploiement.
  2. Facultatif : Générez un certificat SSL à partir d'une ligne de commande. Voir Commande securityUtility.
  3. Activez l'authentification du client SSL dans la configuration de votre serveur en ajoutant les lignes suivantes à son fichier server.xml :
       <featureManager>
            <feature>ssl-1.0</feature>
       <featureManager>
    
       <ssl id="defaultSSLConfig" keyStoreRef="defaultKeyStore" 
            trustStoreRef="defaultTrustStore" clientAuthenticationSupported="true" />
       <keyStore id="defaultKeyStore" location="key.jks" type="JKS" password="defaultPWD" />
       <keyStore id="defaultTrustStore" location="trust.jks" type="JKS" password="defaultPWD" />
    • Si vous spécifiez clientAuthentication="true", le serveur exige d'un client qu'il envoie un certificat. Si le client n'a pas de certificat ou si celui qu'il envoie n'est pas reconnu comme digne de confiance par le serveur, l'établissement de liaison SSL échoue.
    • Si vous spécifiez clientAuthenticationSupported="true", le serveur exige d'un client qu'il envoie un certificat. Si le client n'a pas de certificat ou si celui qu'il envoie n'est pas reconnu comme digne de confiance par le serveur, l'établissement de liaison SSL peut quand même aboutir.
    • Si les attributs clientAuthentication et clientAuthenticationSupported sont tous deux omis, ou si vous indiquez explicitement clientAuthentication="false" ou clientAuthenticationSupported="false", le serveur ne demande pas au client d'envoyer un certificat lors de l'établissement de liaison SSL.
  4. Ajoutez un certificat de client à votre navigateur. Consultez sa documentation pour savoir comment procéder.
  5. Veillez à ce que le serveur fasse confiance aux certificats de client utilisés.
  6. Assurez-vous que chaque certificat de client utilisé pour l'authentification d'un client est mappé à une identité d'utilisateur dans votre registre.
    • Dans le cas du registre de base, l'identité d'utilisateur est la partie CN (nom usuel) du DN (nom distinctif) du certificat.
    • Dans le cas d'un registre LDAP, le DN du certificat de client doit figurer dans le registre LDAP.
  7. Pour utiliser l'authentification de base (ID utilisateur et mot de passe seulement), si l'authentification par certificat client n'aboutit pas, ajoutez la ligne suivante à votre fichier server.xml :
    <webAppSecurity allowFailOverToBasicAuth="true" />
    Remarque : Si vous spécifiez allowFailOverToBasicAuth="false" ou omettez allowFailOvertoBasicAuth, et que l'authentification par certificat client n'aboutit pas, la demande génère un message 403 Authentication error et le client n'est pas invité à entrer son ID utilisateur et son mot de passe pour l'authentification de base.

Icône indiquant le type de rubrique Rubrique Tâche

Dispositions pour les centres de documentation | Commentaires


Icône d'horodatage Dernière mise à jour: Wednesday, 2 September 2015
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=twlp_sec_clientcert
Nom du fichier : twlp_sec_clientcert.html