Pour configurer la redirection de carte à puce sur une machine virtuelle (VM) RHEL 9.x/8.x, installez les bibliothèques dont dépend la fonctionnalité et le certificat d'autorité de certification (CA) racine pour prendre en charge l'authentification approuvée des cartes à puce.

Conditions préalables

Procédure

  1. Installez les bibliothèques requises.
    yum install -y opensc pcsc-lite pcsc-lite-libs pcsc-lite-ccid nss-tools
  2. Activez le service pcscd.
    systemctl enable pcscd
    systemctl start pcscd
  3. Assurez-vous que le fichier de configuration /etc/sssd/sssd.conf contient les lignes suivantes, qui activent l'authentification de la carte à puce.
    [pam]
    pam_cert_auth = True
  4. Copiez le certificat d'autorité de certification requis sur /etc/sssd/pki/sssd_auth_ca_db.pem.
    openssl x509 -inform der -in certificate.cer -out certificate.pem
    cp certificate.pem /etc/sssd/pki/sssd_auth_ca_db.pem
  5. Pour vérifier l'état de la carte à puce, exécutez les commandes pkcs11-tool suivantes et assurez-vous qu'elles renvoient la sortie correcte.
    pkcs11-tool -L
    
    pkcs11-tool --login -O
    
    pkcs11-tool --test --login
  6. Copiez les pilotes requis et ajoutez les fichiers de bibliothèque nécessaires au répertoire nssdb.
    1. Exécutez des commandes semblables à l'exemple suivant.
      Ces exemples de commandes montrent comment ajouter libcmP11.so, le fichier de pilote de la carte Gemalto PIV 2.0, au répertoire nssdb. À la place de libcmP11.so, vous pouvez remplacer le fichier de pilote par votre carte à puce.
      cp libcmP11.so /usr/lib64/
      mkdir -p /etc/pki/nssdb
      certutil -N -d /etc/pki/nssdb
      certutil -A -n rootca -i certificate.pem -t "CT,CT,CT" -d /etc/pki/nssdb
      modutil -dbdir /etc/pki/nssdb/  -add "piv card 2.0" -libfile /usr/lib64/libcmP11.so
    2. Vérifiez que le certificat attendu est correctement chargé en exécutant la commande suivante.
      # certutil -L -d /etc/pki/nssdb
      Vérifiez que la commande renvoie un résultat semblable à l'exemple suivant.
      Certificate Nickname
      rootca
    3. Vérifiez que les bibliothèques attendues sont correctement ajoutées en exécutant la commande suivante.
      modutil -dbdir /etc/pki/nssdb -list
      Vérifiez que la commande renvoie un résultat semblable à l'exemple suivant.
      Listing of PKCS #11 Modules
      –-----------------------------------------------------------
        1. NSS Internal PKCS #11 Module
               slots: 2 slots attached
              status: loaded
      
               slot: NSS Internal Cryptographic Services
              token: NSS Generic Crypto Services
      
               slot: NSS User Private Key and Certificate Services
              token: NSS Certificate DB
      
        2. piv card 2.0
              library name: /usr/lib/libcmP11.so
               slots: There are no slots attached to this module
              status: loaded
      –-----------------------------------------------------------
  7. Créez le fichier /usr/share/p11-kit/modules/libcmP11.module. Ajoutez le contenu suivant au fichier.
    # This file describes how to load the opensc module
    # See: http://p11-glue.freedesktop.org/doc/p11-kit/config.html
     
    # This is a relative path, which means it will be loaded from
    # the p11-kit default path which is usually $(libdir)/pkcs11.
    # Doing it this way allows for packagers to package opensc for
    # 32-bit and 64-bit and make them parallel installable
    module: /usr/lib64/libcmP11.so
    priority: 99
    Note : (RHEL 9.x) Vous devez également supprimer le fichier /usr/share/p11-kit/modules/p11-kit-trust.module du système. En outre, si vous n'utilisez pas opensc, vous devez supprimer le fichier /usr/share/p11-kit/modules/opensc.module.
  8. Pour prendre en charge la fonctionnalité SSO par carte à puce, configurez le fichier /etc/vmware/viewagent-greeter.conf. Reportez-vous à la section Définir des options dans des fichiers de configuration sur un poste de travail Linux.
  9. Installez le module Horizon Agent, avec la redirection de carte à puce activée.
    • En cas d'utilisation du programme d'installation .rpm :
      1. Exécutez le programme d'installation pour installer Horizon Agent avec les options de la fonctionnalité par défaut.
        sudo rpm -ivh VMware-horizonagent-linux-YYMM-y.y.y-xxxxxxx.el8.x86_64.rpm
      2. Pour ajouter la fonctionnalité de redirection de carte à puce, exécutez le script ViewSetup.sh.
        /usr/lib/vmware/viewagent/bin/ViewSetup.sh -m yes
    • Si vous utilisez le programme d'installation .tar.gz, exécutez l'installation avec le paramètre pour activer la redirection de carte à puce :
      sudo ./install_viewagent.sh -m yes
    Note : Si vous obtenez un message d'erreur vous demandant d'installer la bibliothèque PC/SC Lite par défaut, désinstallez la bibliothèque PC/SC Lite personnalisée actuellement présente sur la machine et installez la bibliothèque PC/SC Lite par défaut à l'aide de la commande suivante.
    yum reinstall pcsc-lite-libs pcsc-lite

    Vous pouvez ensuite exécuter le programme d'installation d'Horizon Agent.

  10. Si vous utilisez une bibliothèque PC/SC Lite personnalisée, configurez les options pcscd.maxReaderContext et pcscd.readBody dans le fichier /etc/vmware/config.
  11. Redémarrez la machine virtuelle et reconnectez-vous.