Chytrá karta OpenPGP s GnuPG ve Fedoře¶
Compatible Nitrokeys |
|||||||
---|---|---|---|---|---|---|---|
✓ active |
⨯ inactive |
⨯ inactive |
✓ active |
⨯ inactive |
✓ active |
✓ active |
⨯ inactive |
Poznámka
The following instructions require the Nitrokey 3 to have at least firmware version 1.4.0
installed.
Please refer to firmware update to learn how to update it.
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šší).