OpenPGP viedkarte ar GnuPG uz Fedora#

Piezīme

Lai izpildītu turpmāk sniegtos norādījumus, Nitrokey 3 jābūt instalētai vismaz programmaparatūras versijai 1.4.0. Lai uzzinātu, kā to atjaunināt, skatiet programmaparatūras atjaunināšanu.

GnuPG viedkaršu atbalstam nepieciešams scdaemon. Fedora sistēmā scdaemon ir daļa no GnuPG paketes.

Piezīme

scdaemon ir instalēts /usr/libexec/scdaemon. Šis ceļš parasti nav daļa no PATH vides mainīgā.

GnuPG projekts atbalsta divas saskarnes iestatīšanas ar OpenPGP viedkarti.

  1. GnuPG (scdaemon ar CCID draiveri) → viedkarte (piemēram, Nitrokey)

    Šajā konfigurācijā scdaemon sazinās tieši ar Nitrokey, izmantojot tā iekšējo CCID draiveri un libusb. Tam ir nepieciešams iestatīt Udev noteikumus, jo scdaemon darbojas lietotāja telpā ar pieteiktā lietotāja atļaujām.

  2. GnuPG (scdaemon ar PCSC bibliotēku) → pcscd → viedkarte (piemēram, Nitrokey)

    Šajā konfigurācijā scdaemon sazinās ar pcscd, kas pēc tam sazinās ar Nitrokey.

Fedora operētājsistēmā tiek atbalstīta tikai otrā iestatīšana, jo GnuPG paketes konfigurācijā CCID draiveris ir atspējots, bet pcsc atbalsts ir nepieciešams. Attiecīgo konfigurāciju var atrast specifikāciju failā šeit un šeit.

Problēmu novēršana#

Jaunākajai Fedora 38 versijai pēc instalēšanas vajadzētu darboties bez problēmām. Atjauninātajās Fedora versijās var būt konfliktējoša konfigurācija, un tā jāpārbauda, kā norādīts tālāk. Tika ziņots, ka Fedora Silverblue ir problēmas ar GnuPG un viedkartēm. Tālāk sniegtie norādījumi attiecas tikai uz Fedora Workstation un Fedora Server versijām.

Pareizu iestatījuma konfigurāciju var pārbaudīt, pieprasot informāciju par Nitrokey ar gpg --card-status.

Pārbaudiet atpazīšanu#

Ar lsusb komandu pārbaudiet, vai Nitrokey ir atpazīts. Izvades failā jānorāda Nitrokey, piemēram, Bus 001 Device 002: ID 20a0:42b2 Clay Logic Nitrokey 3.

Pārbaudiet sistēmas konfigurāciju#

  1. Pārliecinieties, ka pcscd pakete ir instalēta kopā ar dnf install pcsc-lite. Turklāt systemd pakalpojumam un ligzdai jābūt ieslēgtai un iedarbinātai ar systemctl enable pcscd.socket pcscd.service && systemctl start pcscd.socket.

  2. Lai izveidotu savienojumu ar pcscd, scdaemon nepieciešama libpcsclite bibliotēka. Ceļu līdz pcsc bibliotēkai var skaidri iestatīt ar echo "pcsc-driver /usr/lib64/libpcsclite.so.1" >> ~/.gnupg/scdaemon.conf. Alternatīvi bibliotēku var padarīt pieejamu arī ar simlink, kā ln -s /usr/lib64/libpcsclite.so.1 /usr/lib64/libpcsclite.so. Pārliecinieties, ka ~/.gnupg/scdaemon.conf failā nav piemēroti konfliktējoši iestatījumi.

  3. scdaemon pēc noklusējuma sagaida ekskluzīvu piekļuvi pcscd, lai izvairītos no iespējamām problēmām ar vienlaicīgām informācijas izmaiņām kartē. Tas izraisa piekļuves neveiksmi, ja citi klienti, parasti tīmekļa pārlūkprogrammas, piekļūst kartei, pat ja tikai nolasīšanai. Koplietošanas piekļuvi var aktivizēt ar echo "pcsc-shared" >> ~/.gnupg/scdaemon.conf (GnuPG versijā 2.2.28 vai jaunākā).