OpenPGP smartcard med GnuPG på Fedora¶
✓ |
⨯ |
⨯ |
⨯ |
⨯ |
✓ |
✓ |
✓ |
Bemærk
Følgende instruktioner kræver, at Nitrokey 3 som minimum har firmwareversion 1.4.0
installeret. Se venligst firmware update for at lære, hvordan du opdaterer den.
GnuPG smartcard support kræver scdaemon. I Fedora er scdaemon en del af GnuPG-pakken.
Bemærk
scdaemon er installeret i /usr/libexec/scdaemon
. Denne sti er normalt ikke en del af PATH-miljøvariablen.
GnuPG-projektet understøtter to opsætninger af interfacet med et OpenPGP smartcard.
GnuPG (scdaemon med CCID-driver) → Smartcard (f.eks. Nitrokey)
I denne opsætning kommunikerer scdaemon direkte til Nitrokey med sin interne CCID-driver og libusb. Det kræver, at Udev-reglerne er indstillet, fordi scdaemon kører i userspace med den indloggede brugers tilladelser.
GnuPG (scdaemon med PCSC-bibliotek) → pcscd → Smartcard (f.eks. Nitrokey)
I denne opsætning kommunikerer scdaemon med pcscd, som derefter kommunikerer med Nitrokey.
På Fedora er kun den anden opsætning understøttet, fordi konfigurationen af GnuPG-pakken sætter CCID-driveren som deaktiveret og pcsc-understøttelsen som påkrævet. Den relevante konfiguration kan findes i spec-filen her og her.
Fejlfinding¶
Den seneste Fedora 38-version bør fungere uden problemer efter installationen. Opgraderede versioner af Fedora kan have modstridende konfigurationer og bør tjekkes som nedenfor. Fedora Silverblue blev rapporteret at have problemer med GnuPG og smartcards. Instruktionerne nedenfor gælder kun for Fedora Workstation og Fedora Server udgaver.
Den korrekte konfiguration af en opsætning kan kontrolleres ved at forespørge oplysninger om Nitrokey med gpg --card-status
.
Tjek genkendelse¶
Kontrollér med kommandoen lsusb, at Nitrokey genkendes. Outputtet bør indeholde en liste over Nitrokey, f.eks. Bus 001 Device 002: ID 20a0:42b2 Clay Logic Nitrokey 3.
Tjek systemkonfigurationen¶
Sørg for, at pakken pcscd er installeret med
dnf install pcsc-lite
. Desuden skal systemd service og socket være aktiveret og startet medsystemctl enable pcscd.socket pcscd.service && systemctl start pcscd.socket
.scdaemon kræver libpcsclite biblioteket for at forbinde til pcscd. Stien til pcsc-biblioteket kan angives eksplicit med
echo "pcsc-driver /usr/lib64/libpcsclite.so.1" >> ~/.gnupg/scdaemon.conf
. Alternativt kan biblioteket også gøres tilgængeligt med et symbolsk link som følgerln -s /usr/lib64/libpcsclite.so.1 /usr/lib64/libpcsclite.so
. Sørg for, at filen~/.gnupg/scdaemon.conf
ikke har nogen modstridende indstillinger.scdaemon forventer som standard eksklusiv adgang til pcscd, for at undgå potentielle problemer med samtidige ændringer af oplysninger på kortet. Dette får adgangen til at mislykkes, hvis andre klienter, normalt webbrowsere, får adgang til kortet, selv om det kun er for at læse. Delt adgang kan aktiveres med
echo "pcsc-shared" >> ~/.gnupg/scdaemon.conf
(i GnuPG version 2.2.28 eller højere).