OpenPGP-älykortti GnuPG:llä Fedoralla#

Muista

Seuraavat ohjeet edellyttävät, että Nitrokey 3:een on asennettu vähintään laiteohjelmiston versio 1.4.0. Katso firmware-päivitys ja opi, miten se päivitetään.

GnuPG-älykorttituki vaatii scdaemon. Fedorassa scdaemon on osa GnuPG-pakettia.

Muista

scdaemon on asennettu osoitteeseen /usr/libexec/scdaemon. Tämä polku ei yleensä ole osa PATH-ympäristömuuttujaa.

GnuPG-projekti tukee kahta asetusta OpenPGP-älykortin kanssa.

  1. GnuPG (scdaemon ja CCID-ajuri) → Älykortti (esim. Nitrokey)

    Tässä kokoonpanossa scdaemon kommunikoi suoraan Nitrokey:n kanssa sen sisäisen CCID-ajurin ja libusb kanssa. Se edellyttää Udev-sääntöjen asettamista, koska scdaemon toimii käyttäjäavaruudessa kirjautuneen käyttäjän oikeuksilla.

  2. GnuPG (scdaemon ja PCSC-kirjasto) → pcscd → Smartcard (esim. Nitrokey)

    Tässä kokoonpanossa scdaemon kommunikoi pcscd kanssa, joka sitten kommunikoi Nitrokey:n kanssa.

Fedorassa tuetaan vain toista asetusta, koska GnuPG-paketin konfiguraatio asettaa CCID-ajurin pois käytöstä ja pcsc-tuen vaadituksi. Asiaankuuluva konfiguraatio löytyy speksitiedostosta täältä ja täältä.

Vianmääritys#

Uusimman Fedora 38 -version pitäisi toimia asennuksen jälkeen ongelmitta. Fedoran päivitetyissä versioissa saattaa olla ristiriitaisia asetuksia, ja ne on tarkistettava seuraavasti. Fedora Silverblue -versiossa on raportoitu olevan ongelmia GnuPG:n ja älykorttien kanssa. Alla olevat ohjeet koskevat vain Fedora Workstation ja Fedora Server -versioita.

Asetusten oikea konfigurointi voidaan tarkistaa kysymällä Nitrokey-avaimen tietoja osoitteesta gpg --card-status.

Tarkista tunnistus#

Tarkista komennolla lsusb, että Nitrokey tunnistetaan. Tulosteessa pitäisi luetella Nitrokey, esimerkiksi Bus 001 Device 002: ID 20a0:42b2 Clay Logic Nitrokey 3.

Tarkista järjestelmän kokoonpano#

  1. Varmista, että pcscd paketti on asennettu yhdessä dnf install pcsc-lite kanssa. Lisäksi systemd -palvelu ja socket on otettava käyttöön ja käynnistettävä komennolla systemctl enable pcscd.socket pcscd.service && systemctl start pcscd.socket.

  2. scdaemon tarvitsee libpcsclite -kirjaston, jotta se voi muodostaa yhteyden pcscd. Polku pcsc-kirjastoon voidaan asettaa eksplisiittisesti komennolla echo "pcsc-driver /usr/lib64/libpcsclite.so.1" >> ~/.gnupg/scdaemon.conf. Vaihtoehtoisesti kirjasto voidaan asettaa saataville myös symlinkillä seuraavasti ln -s /usr/lib64/libpcsclite.so.1 /usr/lib64/libpcsclite.so. Varmista, että ~/.gnupg/scdaemon.conf -tiedostossa ei ole ristiriitaisia asetuksia.

  3. scdaemon odottaa oletusarvoisesti yksinoikeutta pcscd-palveluun, jotta vältetään mahdolliset ongelmat, jotka liittyvät kortilla olevien tietojen samanaikaiseen muuttamiseen. Tämä aiheuttaa sen, että pääsy epäonnistuu, jos muut asiakkaat, yleensä verkkoselaimet, käyttävät korttia, vaikka vain lukemista varten. Jaettu käyttöoikeus voidaan ottaa käyttöön komennolla echo "pcsc-shared" >> ~/.gnupg/scdaemon.conf (GnuPG-versiossa 2.2.28 tai uudemmassa).