Elektronický podpis v Linuxe

Tak ako Firefox či Thunderbird, aj LibreOffice používa knižnicu NSS a jej (formát pre) databázu certifikátov. Musí to byť databáza rovnaká, no nie nevyhnutne tá istá, ktorú používa Firefox.

Ak ale Firefox tak či tak máš, nastavuje sa to možno jednoduchšie.

1 Podpisovanie

V nastaveniach prehliadača vyber Súkromie a bezpečnosť → Bezpečnostné zariadenia. V okne sa objaví Správca bezpečnostných zariadení. Klikni na Načítať, vyplň ľubovoľný názov modulu (napr. eid) a cestu k PKCS#11 knižnici (pri použití eID klienta obvykle /usr/lib/eID_klient/libpkcs11_x64.so)

V LibreOffice skontroluj, či Nástroje → Možnosti → Security → Certificate Path ukazuje na profil Firefoxu.

Podpisovanie by malo fungovať. Pri použití eID klienta na kódoch zadávaných v UI LibreOffice nezáleží, tie správne stačí zadať v UI eID klienta.

2 Overovanie

LibreOffice zatiaľ každý čerstvý bezchybný podpis (správne) vyhodnotí ako neplatný, pretože príslušný certifikát nevie overiť.

Koreňový certifikát pre kvalifikované podpisové certifikáty je tu:
https://eidrep1.disig.sk/svkeidaca2/cert/svkeidaca2.pem

Koreňový certifikát k certifikátom pre zdokonalený elektronický podpis je tu:
https://eidrep1.disig.sk/svkeidroot/cert/svkeidroot.pem

Aby LibreOffice podpisy občianskym preukazom považoval za platné, treba príslušné koreňové certifikáty pridať do databázy. Súbory stiahnuť a v nastaveniach Firefox zvoliť Súkromie a bezpečnosť → Zobraziť certifikáty…. V okne Správca certifikátov vybrať Autority → Importovať… oba certifikáty pridať. V zobrazenom okne pokojne označiť oba checkboxy (pre prvý certifikát by možno stačila druhá možnosť, pre druhý prvá)

Teraz už LibreOffice (nielen) čerstvé podpisy považuje za platné.

3 Vodu káže, víno pije

Mne sa zdieľanie databázy medzi Firefox a LibreOffice vôbec neosvedčilo. Okrem iného som mohol podpisovať, len ak Firefox vôbec nebežal. Preto som si vytvoril novú databázu certifikátov, ktorá slúži len LibreOffice.

Skontroluj, či máš balík libnss3-tools a v novom prázdnom adresári spusti:

modutil -dbdir . -add eid -libfile /usr/lib/eID_klient/libpkcs11_x64.so
certutil -d . -A -i /path/to/svkeidroot.pem -t CT,c, -n "SVK eID Root CA"
certutil -d . -A -i /path/to/svkeidaca2.pem -t C,C, -n "SVK eID ACA2"

Potom na ten adresár nasmeruj Certificate Path v LibreOffice.

Deaktivácia zbytočného

Pretože používam len kvalifikovaný certifikát, slot s tým zdokonaleným rovno vypnem:

modutil -dbdir . -disable eid -slot "…; Sig_EP"

Posledný parameter (závisiaci od modelu čítačky) získam pomocou

modutil -dbdir . -list

4 Ani to víno nepije…

V skutočnosti na podpisovanie vôbec nepoužívam eID klienta, ale OpenSC. Ale to už je iný príbeh.

4 Likes