Chytrá karta OpenPGP s GnuPG ve Fedoře¶
✓ |
⨯ |
⨯ |
⨯ |
⨯ |
✓ |
✓ |
✓ |
Poznámka
Následující pokyny vyžadují, aby byl v zařízení Nitrokey 3 nainstalován firmware alespoň ve verzi 1.4.0
. Informace o aktualizaci firmwaru ` <./firmware-update.html>`__ naleznete v části .
Podpora čipových karet GnuPG vyžaduje scdaemon. Ve Fedoře je scdaemon součástí balíčku GnuPG.
Poznámka
Démon scdaemon je nainstalován v /usr/libexec/scdaemon
. Tato cesta obvykle není součástí proměnné prostředí PATH.
Projekt GnuPG podporuje dvě nastavení propojení s čipovou kartou OpenPGP.
GnuPG (scdaemon s ovladačem CCID) → Smartcard (např. Nitrokey)
V tomto nastavení komunikuje démon scdaemon přímo s Nitrokey pomocí svého interního ovladače CCID a libusb. Vyžaduje nastavení pravidel Udev, protože scdaemon běží v uživatelském prostoru s právy přihlášeného uživatele.
GnuPG (scdaemon s knihovnou PCSC) → pcscd → Smartcard (např. Nitrokey)
V tomto nastavení komunikuje scdaemon s pcscd, který pak komunikuje s Nitrokey.
Ve Fedoře je podporováno pouze druhé nastavení, protože v konfiguraci balíčku GnuPG je ovladač CCID zakázán a podpora pcsc je požadována. Příslušnou konfiguraci najdete ve specifikačním souboru zde a zde.
Řešení problémů¶
Nejnovější verze Fedory 38 by měla po instalaci fungovat bez problémů. Aktualizované verze Fedory mohou mít konfliktní konfiguraci a měly by být zkontrolovány podle níže uvedeného postupu. U Fedory Silverblue byly hlášeny problémy s GnuPG a čipovými kartami. Níže uvedené pokyny platí pouze pro edice Fedora Workstation a Fedora Server.
Správnou konfiguraci nastavení lze zkontrolovat dotazem na informace o klíči Nitrokey pomocí gpg --card-status
.
Kontrola rozpoznávání¶
Pomocí příkazu lsusb ověřte, zda je klíč Nitrokey rozpoznán. Na výstupu by měl být uveden seznam kláves Nitrokey, např. Bus 001 Device 002: ID 20a0:42b2 Clay Logic Nitrokey 3.
Kontrola konfigurace systému¶
Ujistěte se, že balíček pcscd je nainstalován spolu s
dnf install pcsc-lite
. Dále musí být povolena a spuštěna služba systemd a socket pomocísystemctl enable pcscd.socket pcscd.service && systemctl start pcscd.socket
.Démon scdaemon vyžaduje knihovnu libpcsclite pro připojení k pcscd. Cestu ke knihovně pcsc lze explicitně nastavit pomocí
echo "pcsc-driver /usr/lib64/libpcsclite.so.1" >> ~/.gnupg/scdaemon.conf
. Alternativně lze knihovnu zpřístupnit také pomocí symlinku takto:ln -s /usr/lib64/libpcsclite.so.1 /usr/lib64/libpcsclite.so
. Ujistěte se, že v souboru~/.gnupg/scdaemon.conf
nejsou použita žádná konfliktní nastavení.Démon scdaemon ve výchozím nastavení očekává výhradní přístup k pcscd, aby se předešlo možným problémům se souběžnými změnami informací na kartě. To způsobí, že přístup selže, pokud ke kartě přistupují jiní klienti, obvykle webové prohlížeče, i když pouze za účelem čtení. Sdílený přístup lze povolit pomocí
echo "pcsc-shared" >> ~/.gnupg/scdaemon.conf
(ve verzi GnuPG 2.2.28 nebo vyšší).