Table of Contents

Navodila za uporabo slovenske elektronske osebne izkaznice v operacijskem sistemu Linux

Na spletni strani elektronske osebne izkaznice so navodila za aktivacijo na voljo samo za operacijska sistema Windows (Windows 10 ali novejši) ter Apple Mac OS X (v10.15 ali novejši). Ta dokument zapolnjuje vrzel na uradni strani in opisuje uporabo elektronske osebne izkaznice v operacijskem sistemu Linux.

Ker se distribucije razlikujejo med sabo, so navodila prilagojena posameznim distribucijam:

DistribucijaNavodila
Ubuntu Navodila za Ubuntu 24.04.3

Navodila za ostale distribucije še niso na voljo. Ko bodo, jih bomo dodali zato priporočamo da občasno preverite ta dokument.

Uporaba elektronske osebne izkaznice (eOI) zahteva nekaj korakov, ki so odvisni od tega za kaj jo želimo uporabljati.

Rad bi… Navodila
Namestil potrebne komponente in prilagodil nastavitveNamestitev in osnovne nastavitve
Uporabljal osebno izkaznico v brskalniku Uporaba osebne izkaznice v brskalniku Firefox
Elektronsko podpisal dokumente Elektronsko podpisovanje dokumentov PDF

Namestitev in osnovne nastavitve

Preden lahko pričnemo uporabljati eOI, moramo namestiti manjkajoče komponente in opraviti osnovne nastavitve:

  1. Namestimo paket OpenSC.<br/>Ubuntu 24.04.3 že vsebuje podporo za delo z eOI, vendar niso vse komponente privzeto nameščene, zato moramo manjkajočo komponento najprej namestiti. To najlažje naredimo iz ukazne vrstice:

$ sudo apt install opensc

Branje seznama paketov ... Narejeno
Gradnja drevesa odvisnosti ... Narejeno
Branje podatkov o stanju ... Narejeno
The following additional packages will be installed:
libccid libeac3 opensc-pkcs11 pcscd
Naslednji NOVI paketi bodo nameščeni:
libccid libeac3 opensc opensc-pkcs11 pcscd
0 nadgrajenih, 5 na novo nameščenih, 0 bo odstranjenih in 0 ne
nadgrajenih.
Potrebno je dobiti 1505 kB arhivov.
Po tem opravilu bo porabljenega 4790 kB dodatnega prostora.
Ali želite nadaljevati? [Y/n] Y

Odgovorimo Y in paket se namesti. </WRAP>

  1. <WRAP>

Preverimo, če računalnik najde priklopljen čitalnik pametnih kartic in v njem kartico. V ukazni vrstici poženemo: $ opensc-tool -l

# Detected readers (pcsc)
Nr. Card Features Name
0 No PIN pad Gemalto Ezio Shield (S15A0238574896) 00 00
1 Yes HID Global OMNIKEY 3x21 Smart Card Reader [OMNIKEY 3x21 Smart
Card Reader] 01 00

V zgledu imamo na računalnik priklopljena dva čitalnika in drugi čitalnik (OMNIKEY) ima vstavljeno elektronsko osebno izkaznico. Večina sodobnih čitalnikov je samodejno podprta, v nasprotnem primeru pa moramo posebej naložiti še gonilnike za čitalnik. Če ima čitalnik svojo tipkovnico za vnos PIN-a, jo moramo onemogočiti, saj vnos PIN-a prek tipkovnice čitalnika s kartico eOI ne deluje. Prav tako je potreben dodaten korak z ročnim vnosom CAN-a (CAN je potrebno ročno vnesti v datoteko /etc/opensc/opensc.conf) tudi pri uporabi brezstičnega čitalnika. Več informacij o nastavitvah OpenSC najdete na https://github.com/OpenSC/OpenSC/wiki. Če je ukaz opensc-tool -l našel čitalnik (in v njem kartico) lahko sedaj preverimo kako je vidna kartica. V ukazni vrstici poženemo: $ pkcs11-tool --list-slots Dobimo izpis, ki je podoben naslednjemu:

Available slots:
Slot 0 (0x0): Gemalto Ezio Shield (S15A0238574896) 00 00
(empty)
 
Slot 1 (0x4): HID Global OMNIKEY 3x21 Smart Card Reader [OMNIKEY
3x21 Smart...
token label : Prijava brez PIN-a (Norm PIN)
token manufacturer : NXP
token model : PKCS#15 emulated
...
 
Slot 2 (0x5): HID Global OMNIKEY 3x21 Smart Card Reader [OMNIKEY
3x21 Smart...
token label : Podpis in prijava (Norm PIN)
token manufacturer : NXP
token model : PKCS#15 emulated
token flags : login required, token initialized, PIN initialized
...
 
Slot 3 (0x6): HID Global OMNIKEY 3x21 Smart Card Reader [OMNIKEY
3x21 Smart...
token label : Podpis in prijava (Sig PIN)
token manufacturer : NXP
token model : PKCS#15 emulated
token flags : login required, token initialized, PIN initialized
...

Če smo pozorni na reže (“slot”), opazimo več izpisov kot smo jih pričakovali. V privzeti konfiguraciji OpenSC je omogočena uporaba vseh digitalnih potrdil, ki se nahajajo na pametnih karticah. Na eOI je prvo digitalno potrdilo potrdilo z nizko stopnjo zaupanja, za dostop do katerega ne potrebujemo vnosa PIN-a (kar nakazuje sporočilo “Prijava brez pina”). Pri uporabi to lahko povzroča težavo, saj pogosto aplikacije vzamejo prvo digitalno potrdilo, ki je na voljo. Uporabo digitalnega potrdila z nizko stopnjo zaupanja je zato priporočljivo onemogočiti. </WRAP>

  1. <WRAP>

Onemogočimo potrdilo z nizko stopnjo zaupanja. To naredimo tako, da uporabimo konfiguracijo, kjer je to digitalno potrdilo onemogočeno: $ sudo cp /usr/share/doc/opensc/examples/opensc.conf.example /etc/opensc/opensc.conf Preverimo, če je potrdilo onemogočeno: $ sudo pkcs11-tool --list-slots

Available slots:
Slot 0 (0x0): Gemalto Ezio Shield (S15A0238574896) 00 00
(empty)
Slot 1 (0x4): HID Global OMNIKEY 3x21 Smart Card Reader [OMNIKEY 3x21
Smart...
token label : Podpis in prijava (Norm PIN)
token manufacturer : NXP
token model : ChipDocLite
token flags : login required, token initialized, PIN initialized
hardware version : 0.0
firmware version : 0.0
serial num : 80f819309bxxxxxx
pin min/max : 6/6
Slot 2 (0x5): HID Global OMNIKEY 3x21 Smart Card Reader [OMNIKEY 3x21
Smart...
token label : Podpis in prijava (Sig PIN)
token manufacturer : NXP
token model : ChipDocLite
token flags : login required, token initialized, PIN initialized
hardware version : 0.0
firmware version : 0.0
serial num : 80f819309bxxxxxx
pin min/max : 6/6

Vnosa ki je omogočal prijavo brez PIN-a ni več. Kartico lahko sedaj pričnemo uporabljati. </WRAP>

Uporaba elektronske osebne izkaznice v brskalniku Firefox

V distribuciji Ubuntu je privzeto nameščen brskalnik Firefox v obliki paketa snap. Tovrstne aplikacije so omejene pri dostopu in ne morejo dostopati do sredstev izven svojega vsebnika. V primeru Firefoxa to pomeni, da na more dostopati do čitalnika pametnih kartic in posledično tudi ne do e-osebne izkaznice.

Da zaobidemo to omejitev moramo namestiti Firefox kot paket vrste deb.

  1. <WRAP>

Namestitev ustrezne različice brskalnika. To naredimo najlažje tako, namestimo Firefox deb iz uradnega repozitorija Mozille.

  1. <WRAP>

V prvem koraku dodamo Mozillin uradni repozitorij: $ sudo add-apt-repository ppa:mozillateam/ppa

PPA publishes dbgsym, you may need to include 'main/debug'
component
Skladišče: 'Types: deb
URIs: <https://ppa.launchpadcontent.net/mozillateam/ppa/ubuntu/>
Suites: noble
Components: main
 
Opis:
Mozilla Team's Firefox stable + 140 ESR and Thunderbird 140 ESR builds
Support for Ubuntu 20.04 and later
Več podatkov: https://launchpad.net/~mozillateam/+archive/ubuntu/ppa
Dodajanje skladišča.
Pritisnite [ENTER] za nadaljevanje ali Ctrl+c za preklic.
Zadetek:1 http://security.ubuntu.com/ubuntu noble-security InRelease
Zadetek:2 http://si.archive.ubuntu.com/ubuntu noble InRelease
Zadetek:3 http://si.archive.ubuntu.com/ubuntu noble-updates InRelease
Zadetek:4 http://si.archive.ubuntu.com/ubuntu noble-backports InRelease
Dobi:5 https://ppa.launchpadcontent.net/mozillateam/ppa/ubuntu noble
InRelease [24,4 kB]
Dobi:6 https://ppa.launchpadcontent.net/mozillateam/ppa/ubuntu
noble/main amd64 Packages [36,8 kB]
Dobi:7 https://ppa.launchpadcontent.net/mozillateam/ppa/ubuntu
noble/main Translation-en [7144 B\]
Pridobljenih 68,3 kB v 1s (120 kB/s)
Branje seznama paketov ... Narejeno

</WRAP>

  1. <WRAP>

Namestimo Fiorefox, različico ESR (različico s podaljšano podporo): $ sudo apt install opensc firefox-esr

Branje seznama paketov ... Narejeno
Gradnja drevesa odvisnosti ... Narejeno
Branje podatkov o stanju ... Narejeno
opensc is already the newest version (0.25.0~rc1-1build2).
Predlagani paketi:
fonts-lyx
Naslednji NOVI paketi bodo nameščeni:
Firefox-esr xul-ext-ubufox
0 nadgrajenih, 2 na novo nameščenih, 0 bo odstranjenih in 0 ne
nadgrajenih.
Potrebno je dobiti 77,0 MB arhivov.
Po tem opravilu bo porabljenega 279 MB dodatnega prostora.
Dobi:1 http://si.archive.ubuntu.com/ubuntu noble/universe amd64
xul-ext-ubufox all 3.4-0ubuntu1.
17.10.4 [2108 B]
Dobi:2 https://ppa.launchpadcontent.net/mozillateam/ppa/ubuntu
noble/main amd64 firefox-esr amd64
140.6.0esr+build1-0ubuntu0.24.04.1\~mt1 [77,0 MB\]
Pridobljenih 77,0 MB v 47s (1624 kB/s)
Selecting previously unselected package firefox-esr.
(Reading database ... 154772 files and directories currently
installed.)
Preparing to unpack
...
...

</WRAP> </WRAP>

  1. <WRAP>

Preden lahko začnemo v brskalniku uporabljati kartico, mu moramo povedati, kje se kartica nahaja, oziroma katero medprogramje za dostop do kartice uporabiti. Najprej poženemo Firefox, na primer iz ukazne vrstice: $ firefox-esr Nato prilagodimo nastavitve:

  1. V brskalniku odpremo Nastavitve in kliknemo Zasebnost in varnost. Poiščemo razdelek Varnost in kliknemo gumb Varnostne naprave ….

Varnostne naprave

  1. V oknu Upravitelj naprav kliknemo Naloži da odpremo dialog za vnos varnostnega modula:

Vnos varnostnega modula
Za Ime modula vnesemo poljuben opis, na primer »OpenSC PKCS#11 modul«, za Ime datoteke modula pa vnesemo /usr/lib/x86_64-linux-gnu/pkcs11/opensc-pkcs11.so.

  1. Preverimo če je potrdilo naloženo in kliknemo V redu.

Preveri potrdilo </WRAP>

  1. <WRAP>

Sedaj lahko eOI uporabimo za prijavo na straneh, ki to zahtevajo oziroma omogočajo. Na primer v SI-PASS (za način prijave izberemo »Osebna izkaznica s čitalnikom kartic«:
Izbira osebne izkaznice Po izbiri digitalnega potrdila moramo vnesti še PIN:
Če je bil PIN pravilno vnesen se tako pojavi začetna stran aplikacije:
Začetna stran </WRAP>

Elektronsko podpisovanje PDF dokumentov

Kvalificirano digitalno potrdilo na eOI se lahko uporablja tudi za elektronsko podpisovanje dokumentov. Za elektronsko podpisovanje PDF dokumentov je na voljo več aplikacij. Podali bomo zgled za enega izmed bolj razširjenih pregledovalnikov PDF - Okular.

Podpisovanje z aplikacijo Okular

  1. <WRAP>

Namestitev Okular-ja je precej bolj obsežna kot pri Firefox-u, vendar poteka na enak način: $ sudo apt install okular

Branje seznama paketov ... Narejeno
Gradnja drevesa odvisnosti ... Narejeno
Branje podatkov o stanju ... Narejeno
The following additional packages will be installed:
i965-va-driver intel-media-va-driver kaccounts-providers kactivities-bin
kactivitymanagerd kded5 keditbookmarks kinit kio kpackagelauncherqml
kpackagetool5 kwayland-data kwayland-integration liba52-0.7.4 libaacs0
libaccounts-glib0
.
Processing triggers for libc-bin (2.39-0ubuntu8.6) ...
Processing triggers for man-db (2.12.0-4build2) ...
Processing triggers for libvlc-bin:amd64 (3.0.20-3build6) ...

</WRAP>

  1. <WRAP>

Podobno, kot smo naredili pri Firefox-u je potrebno tudi Okular-ju povedati, katero medprogramje naj uporablja za dostop do pametne kartice. Le da je tukaj vse potrebno narediti iz ukazne vrstice z orodjem modutil, za kar je potrebno prej namestiti paket libnss3-tools: $ sudo apt install libnss3-tools

Branje seznama paketov ... Narejeno
Gradnja drevesa odvisnosti ... Narejeno
Branje podatkov o stanju ... Narejeno
Naslednji NOVI paketi bodo nameščeni:
libnss3-tools
0 nadgrajenih, 1 na novo nameščenih, 0 bo odstranjenih in 0 ne
nadgrajenih.
Potrebno je dobiti 615 kB arhivov.
Po tem opravilu bo porabljenega 2193 kB dodatnega prostora.
...
...

Ko je paket nameščen najprej naredimo ustrezen imenik: $ mkdir -p $HOME/.pki/nssdb Nato poženemo certutil: $ certutil -N -d sql:$HOME/.pki/nssdb

Enter a password which will be used to encrypt your keys.
The password should be at least 8 characters long,
and should contain at least one non-alphabetic character.
Enter new password:

Geslo lahko pustimo prazno, ker je to geslo za programsko knjižnico ki je ne bomo uporabljali. Sedaj poženemo modutil: $ modutil -dbdir sql:$HOME/.pki/nssdb -add "OpenSC PKCS#11 modul" -libfile /usr/lib/x86_64-linux-gnu/pkcs11/opensc-pkcs11.so

WARNING: Performing this operation while the browser is running could 
cause
corruption of your security databases. If the browser is currently
running,
you should exit browser before continuing this operation. Type
'q <enter>' to abort, or <enter> to continue:
Module "OpenSC PKCS#11 modul" added to database.

Nastavitev je s tem končana. </WRAP>

  1. <WRAP>

Preverimo, da je registracija medprogramja uspela: $ modutil -dbdir sql:$HOME/.pki/nssdb -list

Listing of PKCS #11 Modules
-----------------------------------------------------------
1. NSS Internal PKCS #11 Module
uri:
pkcs11:library-manufacturer=Mozilla%20Foundation;library-description=
NSS%20Internal%20Crypto%20Services;library-version=3.98
slots: 2 slots attached
status: loaded
slot: NSS Internal Cryptographic Services
token: NSS Generic Crypto Services
uri:
pkcs11:token=NSS%20Generic%20Crypto%20Services;manufacturer=
Mozilla%20Foundation;serial=0000000000000000;model=NSS%203
slot: NSS User Private Key and Certificate Services
token: NSS Certificate DB
uri:
pkcs11:token=NSS%20Certificate%20DB;manufacturer=Mozilla%20Foundation;
serial=0000000000000000;model=NSS%203
 
2. OpenSC PKCS#11 modul
 
library name: /usr/lib/x86_64-linux-gnu/pkcs11/opensc-pkcs11.so
uri:
pkcs11:library-manufacturer=OpenSC%20Project;library-description=
OpenSC%20smartcard%20framework;library-version=0.25
slots: There are no slots attached to this module
status: loaded
-----------------------------------------------------------

To bi moralo biti vse, kar je potrebno, da se lahko podpiše PDF dokument. </WRAP>

  1. <WRAP>

(Ta korak je potreben zaradi napake v knjižnici. Ko bo odpravljena, ga preskočimo.) V knjižnici za obdelavo PDF datotek (libpoppler.so), ki jo Okular uporablja za podpisovanje PDF dokumentov je prisotna napaka (“hrošč”), ki preprečuje elektronsko podpisovanje s pametnimi karticami, ki vsebujejo več kot eno digitalno potrdilo. Popravek še ni vključen v distribucijo, zato moramo kot začasno rešitev obstoječo knjižnico zamenjati s pravilno delujočo1).

  1. <WRAP>

Najprej naredimo kopijo obstoječe knjižnice: $ sudo mv /usr/lib/x86_64-linux-gnu/libpoppler.so.134 /usr/lib/x86_64-linux-gnu/libpoppler.so.134.old </WRAP>

  1. <WRAP>

Nato naložimo knjižnico s popravkom. $ sudo wget -q https://github.com/llogar/poppler/raw/70f4f3c4003505d971c002f4b9e9816785e4f3c7/ubuntu-24.04.3/libpoppler.so.134 -O /usr/lib/x86_64-linux-gnu/libpoppler.so.134 </WRAP>

  1. <WRAP>

Priporočamo, da preverite še vsoto md5: $ md5sum /usr/lib/x86_64-linux-gnu/libpoppler.so.134

3597c7e9864932dcb1b084b11f0ce4d9
/usr/lib/x86_64-linux-gnu/libpoppler.so.134

</WRAP> Ko bo popravek vključen v Ubuntu, ta korak ne bo več potreben. Zato prosimo da pred novo namestitvijo preverite ta navodila. </WRAP>

  1. <WRAP>

Da odpremo orodje za podpisovanje dokumentov v vrhnjem menuju kliknemo Orodja in izberemo Digitalno podpiši…. Z miško narišemo okvirček, kamor naj se vključi elektronski podpis. Izberemo digitalno potrdilo in kliknemo OK.
Podpiši Vnesemo geslo (PIN) za potrdilo in kliknemo OK.
Vnesi PIN Podpisan dokument shranimo.
Dokument je podpisan </WRAP>