Um die Smartcard-Umleitung auf einer virtuellen RHEL 9.x-/8.x-Maschine (VM) zu konfigurieren, installieren Sie die Bibliotheken, von denen die Funktion abhängt, und das Stammzertifikat der Zertifizierungsstelle (CA), um die vertrauenswürdige Authentifizierung von Smartcards zu unterstützen.

Voraussetzungen

Prozedur

  1. Installieren Sie die erforderlichen Bibliotheken.
    yum install -y opensc pcsc-lite pcsc-lite-libs pcsc-lite-ccid nss-tools
  2. Aktivieren Sie den pcscd-Dienst.
    systemctl enable pcscd
    systemctl start pcscd
  3. Stellen Sie sicher, dass die Konfigurationsdatei /etc/sssd/sssd.conf die folgenden Zeilen enthält, die die Smartcard-Authentifizierung aktivieren.
    [pam]
    pam_cert_auth = True
  4. Kopieren Sie das erforderliche CA-Zertifikat in /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. Um den Status der Smartcard zu überprüfen, führen Sie die folgenden pkcs11-tool-Befehle aus und bestätigen Sie, dass diese die korrekte Ausgabe zurückgeben.
    pkcs11-tool -L
    
    pkcs11-tool --login -O
    
    pkcs11-tool --test --login
  6. Kopieren Sie die erforderlichen Treiber und fügen Sie die benötigten Bibliotheksdateien zum Verzeichnis nssdb hinzu.
    1. Führen Sie Befehle ähnlich dem folgenden Beispiel aus.
      Diese Beispielbefehle zeigen, wie Sie libcmP11.so, die Treiberdatei für die Gemalto PIV 2.0-Karte, zum Verzeichnis nssdb hinzufügen. Anstelle von libcmP11.so können Sie die Treiberdatei für Ihre Smartcard ersetzen.
      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. Stellen Sie sicher, dass das erwartete Zertifikat erfolgreich geladen wurde, indem Sie folgenden Befehl ausführen.
      # certutil -L -d /etc/pki/nssdb
      Stellen Sie sicher, dass die Befehle eine Ausgabe ähnlich dem folgenden Beispiel zurückgeben.
      Certificate Nickname
      rootca
    3. Stellen Sie sicher, dass die erwarteten Bibliotheken erfolgreich hinzugefügt wurden, indem Sie den folgenden Befehl ausführen.
      modutil -dbdir /etc/pki/nssdb -list
      Stellen Sie sicher, dass die Befehle eine Ausgabe ähnlich dem folgenden Beispiel zurückgeben.
      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. Erstellen Sie die Datei /usr/share/p11-kit/modules/libcmP11.module. Fügen Sie der Datei den folgenden Inhalt hinzu.
    # 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
    Hinweis: (RHEL 9.x) Sie müssen auch die Datei /usr/share/p11-kit/modules/p11-kit-trust.module aus dem System entfernen. Wenn Sie außerdem opensc nicht verwenden, müssen Sie die Datei /usr/share/p11-kit/modules/opensc.module entfernen.
  8. Um die Smartcard-SSO-Funktion zu unterstützen, konfigurieren Sie die Datei /etc/vmware/viewagent-greeter.conf. Siehe Einstellen der Optionen in Konfigurationsdateien auf einem Linux-Desktop.
  9. Installieren Sie das Paket Horizon Agent mit aktivierter Smartcard-Umleitung.
    • Wenn Sie das Installationsprogramm .rpm verwenden:
      1. Führen Sie das Installationsprogramm aus, um Horizon Agent mit den Standardfunktionsoptionen zu installieren.
        sudo rpm -ivh VMware-horizonagent-linux-YYMM-y.y.y-xxxxxxx.el8.x86_64.rpm
      2. Zum Hinzufügen der Smartcard-Umleitungsfunktion führen Sie das Skript ViewSetup.sh aus.
        /usr/lib/vmware/viewagent/bin/ViewSetup.sh -m yes
    • Wenn Sie das Installationsprogramm .tar.gz verwenden, führen Sie das Installationsprogramm mit dem Parameter aus, um die Smartcard-Umleitung zu aktivieren:
      sudo ./install_viewagent.sh -m yes
    Hinweis: Wenn Sie eine Fehlermeldung erhalten, die Sie auffordert, die Standard-PC/SC-Lite-Bibliothek zu installieren, deinstallieren Sie die benutzerdefinierte PC/SC-Lite-Bibliothek, die derzeit auf der Maschine vorhanden ist, und installieren Sie die Standard-PC/SC-Lite-Bibliothek mithilfe des folgenden Befehls.
    yum reinstall pcsc-lite-libs pcsc-lite

    Anschließend können Sie das Horizon Agent-Installationsprogramm ausführen.

  10. Wenn Sie eine benutzerdefinierte PC/SC Lite-Bibliothek verwenden, konfigurieren Sie die Optionen pcscd.maxReaderContext und pcscd.readBody in der Datei /etc/vmware/config.
  11. Starten Sie die virtuelle Maschine neu und melden Sie sich erneut an.