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.
Prozedur
- Installieren Sie die erforderlichen Bibliotheken.
yum install -y opensc pcsc-lite pcsc-lite-libs pcsc-lite-ccid nss-tools
- Aktivieren Sie den pcscd-Dienst.
systemctl enable pcscd
systemctl start pcscd
- 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
- 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
- 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
- Kopieren Sie die erforderlichen Treiber und fügen Sie die benötigten Bibliotheksdateien zum Verzeichnis nssdb hinzu.
- 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
- 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
- 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
–-----------------------------------------------------------
- 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.
- 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.
- Installieren Sie das Paket Horizon Agent mit aktivierter Smartcard-Umleitung.
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.
- Wenn Sie eine benutzerdefinierte PC/SC Lite-Bibliothek verwenden, konfigurieren Sie die Optionen pcscd.maxReaderContext und pcscd.readBody in der Datei /etc/vmware/config.
- Starten Sie die virtuelle Maschine neu und melden Sie sich erneut an.