Para configurar el redireccionamiento de tarjetas inteligentes en una máquina virtual RHEL 9.x/8.x, instale las bibliotecas de las que depende la función y el certificado de la entidad de certificación (CA) raíz para permitir la autenticación de confianza de las tarjetas inteligentes.

Requisitos previos

Procedimiento

  1. Instale las bibliotecas necesarias.
    yum install -y opensc pcsc-lite pcsc-lite-libs pcsc-lite-ccid nss-tools
  2. Habilite el servicio pcscd.
    systemctl enable pcscd
    systemctl start pcscd
  3. Asegúrese de que el archivo de configuración /etc/sssd/sssd.conf contenga las siguientes líneas, que habilitan la autenticación de tarjetas inteligente.
    [pam]
    pam_cert_auth = True
  4. Copie el certificado de CA necesario en /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. Para comprobar el estado de la tarjeta inteligente, ejecute los siguientes comandos pkcs11-tool y confirme que devuelven la salida correcta.
    pkcs11-tool -L
    
    pkcs11-tool --login -O
    
    pkcs11-tool --test --login
  6. Copie los controladores requeridos y agregue los archivos de biblioteca necesarios al directorio nssdb.
    1. Ejecute comandos similares al siguiente ejemplo.
      Estos comandos de ejemplo muestran cómo agregar libcmP11.so, el archivo de controlador de la tarjeta Gemalto PIV 2.0, al directorio nssdb. En lugar de libcmP11.so, puede sustituir el archivo del controlador por la tarjeta inteligente.
      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. Compruebe que el certificado esperado se haya cargado correctamente ejecutando el siguiente comando.
      # certutil -L -d /etc/pki/nssdb
      Compruebe que el comando devuelve un resultado similar al siguiente ejemplo.
      Certificate Nickname
      rootca
    3. Compruebe que las bibliotecas esperadas se hayan agregado correctamente ejecutando el siguiente comando.
      modutil -dbdir /etc/pki/nssdb -list
      Compruebe que el comando devuelve un resultado similar al siguiente ejemplo.
      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. Cree el archivo /usr/share/p11-kit/modules/libcmP11.module. Agregue el siguiente contenido al archivo.
    # 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
    Nota: (RHEL 9.x) También debe eliminar el archivo /usr/share/p11-kit/modules/p11-kit-trust.module del sistema. Además, si no utiliza opensc, debe eliminar el archivo /usr/share/p11-kit/modules/opensc.module.
  8. Para admitir la función de SSO de tarjetas inteligentes, configure el archivo /etc/vmware/viewagent-greeter.conf. Consulte Opciones de configuración en los archivos de configuración de un escritorio Linux.
  9. Instale el paquete Horizon Agent con el redireccionamiento de tarjetas inteligentes habilitado.
    • Si utiliza el instalador .rpm:
      1. Ejecute el instalador para instalar Horizon Agent con las opciones de funciones predeterminadas.
        sudo rpm -ivh VMware-horizonagent-linux-YYMM-y.y.y-xxxxxxx.el8.x86_64.rpm
      2. Para agregar la función de redireccionamiento de tarjetas inteligentes, ejecute el script ViewSetup.sh.
        /usr/lib/vmware/viewagent/bin/ViewSetup.sh -m yes
    • Si utiliza el instalador .tar.gz, ejecute el instalador con el parámetro para habilitar el redireccionamiento de tarjetas inteligentes:
      sudo ./install_viewagent.sh -m yes
    Nota: Si recibe un mensaje de error que le indica que instale la biblioteca PC/SC Lite predeterminada, desinstale la biblioteca PC/SC Lite personalizada que se encuentra actualmente en la máquina e instale la biblioteca PC/SC Lite predeterminada mediante el siguiente comando.
    yum reinstall pcsc-lite-libs pcsc-lite

    A continuación, puede ejecutar el instalador de Horizon Agent.

  10. Si utiliza una biblioteca PC/SC Lite personalizada, configure las opciones pcscd.maxReaderContext y pcscd.readBody en el archivo /etc/vmware/config.
  11. Reinicie la máquina virtual y vuelva a iniciar sesión.