E-paraksta viedkaršu programmatūras uzstādīšana uz Linux

Iepriekš rakstīju par to cik slikti, par e-paraksta viedkaršu lietošanu, ir informēti Linux lietotāji.

Pievienoju pamācību loģiski domājošiem Linux lietotājiem, kuriem nav paniskas bailes no komandrindas.

Kas ir nepieciešams?

Viedkaršu lasīšanas iekārta

Saprotams, ka vajadzīga iekārta, kurā ievietot viedkarti. Iesaku izvēlēties iekārtas, kurām priekš Linux ir pieejami draiveri.

Kā jau minēju iepriekšējā rakstā – SCR3310 ir gana lēta un pārbaudīta iekārta.

IMG_20130829_145914

Pieslēdzam iekārtu datoram un lasām tālāk.

Viedkaršu lasītāja draiveris Linux kernelim

SCR3310 gadījumā nekādi papildus draiveri nebija jāinstalē, jo tie nāk komplektā ar pietiekoši jaunu kerneļa versiju. Kaut kur lasīju, ka senāk vajadzēja atjaunināt firmware, bet pašam ar to nav nācies saskarties.

Citām iekārtām varētu nākties uzinstalēt papildus draiverus un/vai firmware.

Programmatūra komunikācijai ar iekārtu

Pieļauju, ka šim mērķim pastāv dažādas aplikācijas, bet vispopulārākā ir “pcscd” (PC/SC Smart Card Daemon).

Uz Archlinux to var uzinstalēt palaižot:

$ sudo pacman -S pcsclite pcsc-tools

Uz Debian bāzētām (Debian/Ubuntu/Mint/u.c.) sistēmām to var uzinstalēt palaižot:

$ apt-get install pcscd pcsc-tools

Pēc instalācijas jāieslēdz pcscd serviss. Uz Archlinux jāpalaiž:

$ sudo systemctl enable pcscd.service
$ sudo systemctl start pcscd

Uz Debian bāzētām sistēmām tam vajadzētu notikt automātiski, bet ja tā nenotiek, tad jāpalaiž:

$ sudo /etc/init.d/pcscd start

 

Šobrīd ieliekot e-paraksta viedkarti iekārtā, un palaižot komandu

$ pcsc_scan

vajadzētu parādīties informācijai par ievietoto karti. Ja parādīts tikai sarkans uzraksts “waiting for the first reader”, vai “waiting for the card”, tad attiecīgi vai nu nestrādā iekārta, vai arī Tu nepareizi esi ievietojis viedkarti. 🙂

Middleware bibliotēka konkrētajam viedkaršu modelim

Ar to vien, ka spējam noteikt kāda viedkarte ievietota iekārtā – nepietiks. Pcscd nav informācija par to kā pilnvērtīgi komunicēt ar Latvijā izsniegto e-paraksta viedkarti, tāpēc nepieciešams uzstādīt viedkaršu ražotāja bibliotēku.

Latvijā lieto Luxtrust ražotās viedkartes, tāpēc jādodas uz viņu mājaslapu un lejupielāžu sadaļā jāmeklē Middleware programmatūra Linux sistēmām.

Brīdī, kad šo rakstu, Luxtrust lapā ir pieejamas “.deb” pakas Ubuntu distribūcijai, 32 bitu un 64 bitu versijām.

Piedāvātās pakas visdrīzāk būs derīgas arī citās, uz Debian bāzētās distribūcijās (Debian/Mint/u.c.).

Ubuntu/Debian lietotājiem jāaizvieto 64bit ar 32bit, ja tiek lietota 32 bitu sistēma, un jāizpilda:

$ wget https://www.luxtrust.lu/downloads/middleware/LuxTrust_Middleware_64bit_6.1-007.deb
$ sudo dpkg -i LuxTrust_Middleware_64bit_6.1-007.deb

Archlinux lietotājiem esmu izveidojis luxtrust-middleware PKGBUILD failu, kas ir pieejams AUR sistēmā. Ja lieto Archlinux un ir uzinstalēts yaourt palīgrīks, tad to var uzinstalēt izpildot:

$ yaourt -S luxtrust-middleware

Es gan neizpētīju vai Luxtrust bibliotēkas nav atkarīgas no citām bibliotēkām, tāpēc, ja kaut kas nestrādā, lūdzu paziņot komentāros.

Citu distribūciju lietotājiem vai nu jāizpēta iespējas konvertēt esošās .deb pakas uz jūsu distribūcijas paku formātu, vai arī pakas saturs manuāli jāizpako, un jāiekopē attiecīgajās sistēmas mapēs (ko es noteikti nerekomendēju darīt).

Kad middleware programmatūra uzinstalēta, vajadzētu varēt atvērt PIN koda mainīšanas aplikāciju, ko var atvērt izpildot:

$ CCChangePinTool

Ja aplikācija atveras un viss strādā – lieliski, varam turpināt. Ja parādās kļūdu paziņojumi – lūdzu ziņot komentāros. 🙂

PMLP, vai LVRTC iepriekš piedāvātajās middleware pakās tika lietoti citi failu nosaukumi. Tā kā tie ir statiski ierakstīti e-paraksta Java aplikācijās, jāizveido symbolic link, savādāk saņemsim kļūdas paziņojumu.

$ cd /usr/lib/pkcs11/
$ sudo ln -s libgclib.so otlv-pkcs11.so

Pārlūkprogrammas konfigurācija

Vēlāk izveidošu pamācību Chromium lietotājiem, bet šobrīd pieejama informācija par uzstādīšanu uz Firefox.

seciba

Atveram Firefox Preferences > Advanced > Certificates > Security devices > Load.

Nosaukumu ierakstam pēc izvēles, bet pie Module filename norādām:

/usr/lib/pkcs11/libgclib.so

Pēc OK pogas nospiešanas, sarakstā būtu jāparādās jaunajai iekārtai. To izvēloties, būtu jāaktivizējas Log in pogai. Uz tās uzspiežot vajadzētu parādīties PIN koda pieprasījuma logam. Ja tā ir, tad viss kārtībā.

Turpmāk lietojot e-parastu, var gadīties, ka pēc iekārtas, vai viedkartes atvienošanas un atkārtotas pieslēgšanas, var nākties pārstartēt interneta pārlūkprogrammu.

LVRTC un/vai Latvijas pasta sertifikāti

Pēdējais solis ir sertifikātu pievienošana. Kā to izdarīt uz Chromium – aprakstīšu vēlāk. Šobrīd pieejama pamācība Firefox pārlūkprogrammai.

Dodamies uz eparaksta mājas lapu, un ielādējam nepieciešamos sertifikātus.

Firefox vajadzētu automātiski piedāvāt uzinstalēt sertifikātus, bet ja tā nenotiek, saglabājam tos datorā un pievienojam manuāli, atverot  Firefox Preferences > Advanced > Certificates > View Certificates logu.

Nobeigumā

Tagad visam vajadzētu strādāt. Tikai jāatceras, ka pēc iekārtas pievienošanas, visdrīzāk, nāksies pārstartēt pārlūkprogrammu, kā arī labākais veids kā noskaidrot, vai viedkarte kārtīgi ievietota iekārtā, ir izpildot komandu pcsc_scan.

Gaidīšu jūsu komentārus un ieteikumus. 🙂

Join the Conversation

26 Comments

  1. Labdien!

    Interesanti. Es līdz šim izmantoju midlwāri kas ir eparakst.lv lapā, bet tur nav 64bit versija. Vai dokumentus ari ir iespējams parakstīt izmantojot šo risinājumu?

    1. Jā, protams, ka ir iespējams parakstīt dokumentus.
      Tā ir tā pati programmatūra, tikai PMLP/LVRTC sagatavotajā pakā ir citi failu nosaukumi (iespējams, ka arī vecāki), kā arī nav pievienota 64 bitu versija.

    2. Zināšanai, atbildes no PMLP:
      21.09.2013. – “Pats vēlākais laiks, kad būs pieejama jauna versija un atbalsts 64 bitu Linux distributīviem – 2014.gada 1.marts.
      Iespējams, ka izlaidīsim vēl kādu starpversiju šoruden, tad ieliksim arī atbalstu 64 bitu Linux.”
      06.05.2014 – “Šobrīd kavējam plānoto jaunās versijas publicēšanu par aptuveni trīs mēnešiem. Testējam un atkļūdojam Windows variantu, kas tiks izlaists pirmais. Tikai pēc tam izstrādātāji ķersies klāt portēšanai uz Linux 64-bitu platformas. Tuvākajā laikā atbalsts noteikti tiks nodrošināts.”

  2. Jau ilgāku laiku mēģinu pierunāt uz Fedora 17, Fedora 19 pierunāt darboties e-paraksta kartei, bet esmu atdūries pret problēmu ar neeksistējošiem Gemsafe draiveriem iekārtai GemPC Twin (šo iekārtu defaultā dod kopā ar e-paraksta viedkartēm).

    Katrā ziņā paldies par rakstu.

  3. uz ubuntu 13.04:
    Unpacking libclassicclient (from LuxTrust_Middleware_32bit_6.1-007.deb) …
    dpkg: dependency problems prevent configuration of libclassicclient:

  4. Xubuntu 13.10 32bit, Firefox.
    Ielādējot ierīci un ievadot augstāk minēto faila nosaukumu, viss izbeidzas…. Ilgu laiku nav nekādas reakcijas un tad parādās paziņojums par kļūdu. Kļūda – BrokenCount > 0. Neatrisinātas atkarības. Mēģinot koriģēt ar Synaptic, atkal kļūda. 🙁
    dpkg: error processing libclassicclient (–configure):
    subprocess installed post-installation script returned error exit status 1
    Processing triggers for libc-bin …
    Errors were encountered while processing:
    libclassicclient

  5. Vēlreiz par kļūdu. Svaiga Xubuntu instalācija, šoreiz 13.04.
    Instalējam middlevare un…..

    sudo dpkg -i LuxTrust_Middleware_32bit_6.1-007.deb
    Selecting previously unselected package libclassicclient.
    (Reading database … 175136 files and directories currently installed.)
    Unpacking libclassicclient (from LuxTrust_Middleware_32bit_6.1-007.deb) …
    dpkg: dependency problems prevent configuration of libclassicclient:
    libclassicclient depends on libssl0.9.8 (>= 0.9.8k-1); however:
    Package libssl0.9.8 is not installed.

    dpkg: error processing libclassicclient (–install):
    dependency problems – leaving unconfigured
    Processing triggers for bamfdaemon …
    Rebuilding /usr/share/applications/bamf-2.index…
    Processing triggers for desktop-file-utils …
    Processing triggers for gnome-menus …
    Processing triggers for man-db …
    Errors were encountered while processing:
    libclassicclient

    Jautājums varētu būt, kāpēc šīs pakas nav un kā to piedabūt vietā.

  6. Jā, es arī tieši ar to pašu nocīnījos.
    Ne uz 12.04, ne 13.10, ne 13.04 Ubuntu (64bit) neizdevās palaist.
    Lai izslēgtu instalācijas kļūdas, visi 3 varianti tika mēģināti uz svaigi instalēta Ubuntu.

    Par “Package libssl0.9.8 is not installed.”:
    “sudo apt-get install -f” šo kļūdu atrisinās. Pamēģini. Iespējams, uz 32bit versijas neko vairāk nevajadzēs.

    Man uz 64bit versijas viss beidzas ar:
    (..)
    (Reading database … 211023 files and directories currently installed.)
    Unpacking libssl0.9.8:amd64 (from …/libssl0.9.8_0.9.8o-7ubuntu3.1_amd64.deb) …
    Setting up libssl0.9.8:amd64 (0.9.8o-7ubuntu3.1) …
    Setting up libclassicclient (6.1.0-b07) …
    WARNING: libsqlite3.so could not be found. Creating symbolic link…
    /usr/lib /
    ls: cannot access libsqlite3*: No such file or directory
    /
    Creating symbolic link done.
    * Stopping the hotplug events dispatcher udevd [ OK ]
    dpkg: error processing libclassicclient (–configure):
    subprocess installed post-installation script returned error exit status 1
    Processing triggers for libc-bin …
    Errors were encountered while processing:
    libclassicclient
    E: Sub-process /usr/bin/dpkg returned an error code (1)
    (..)

    libsqlite3, starp citu, jau ir. Tikai pati middleware cenšas symlinkot libsqlite.3.so ar sevi.

    Šeit visā daiļumā parādās slēgtā koda posts. 🙂 Šķiet, ka jāpako attiecīgā *.deb paka vaļā un jāskatās, kāpēc instalācijas skripts gļuko. Tā kā šobrīd tam nav laika, būtu labi, ja kāds cits pamēģinātu:
    – uzstādīt eparakstu uz 32bit Ubuntu, 12.04 versijas, ja izdodas – arī uz jaunākas;
    – paskatītos, kāpēc middleware instalācijas skripts met ārā kļūdu. Manuprāt, *.deb ir jāatpako un soli pa solim jāskatās, kas pietrūkst.

    1. Jā, ar “install -f” pakas pakoriģējās. Pat daļēji izdevās ielādēt lasītāju Firefox, bet tikai daļēji. It kā atpazina konkrēto lasītāju, bet ceļš vai vērtība (šobrīd neesmu pie sava datora) bija nulle, iekārta neaktīva, par “Login” nav ne runas. Pacīnijos, bet uzradās citas darīšanas un atmetu šim procesam ar roku. Šobrīd nav tik aktuāli, pieķeršos no jauna vēlāk. Varbūt būs arī kāds risinājums uzradies. 🙂

      1. Tātad, viss ir tikpat tālu kā man ar 64bit versiju.

        Kādam vispār uz kādas Ubuntu versijas ir sanācis? Tad varētu sākt meklēt atšķirības.

        Diez, ražotāju ir jēga sākt bakstīt?

  7. Nekas uz Ubuntu 13.10 64bit nesanāk.
    pcsc_scan visu redz… Midllwares install neizdodas, arī ar roku visu piekoriģējot pina mainītājs jau saka ka karti neredz.

  8. Jā, man ar uz Ubuntu 13.10 (x64) visu sainistalēt izdevās, bet jau pin koda mainītājs izmet, ka nav kartes vai lasītāja, lai gan pcsc_scan visu korekti atrod un parāda 🙁

    1. Es arī atdūros pie tā ka koda mainītajs neredz karti.
      līdz viņam viss ir Ok.
      Ubuntu 12.04 LTE x64

  9. Linux Mint 13 64bit. Tiku līdz CCChangePinTool, bet šis rīks karti neredz. Parāda kļūdu “No card or reader found. Check connections”. Attiecīgi arī e-paraksta aplikācijas (ne vecā, ne jaunā) neredz karti.

  10. Man ir Gemalto Gempc Twin USB lasitajs. Es meginaju visus pkcs#11 32/64 modulus uz 64-ubuntu kopa ar 32/64 Firefox. Gan “oficialais” libgclib.so, gan luxtrust verija, gan “coolkey”, gan “cackey”. Neviens variants nedot man iespeju uztaisit “login”. Tikai dazhi varianti “redz” lasitaju (coolkey, cackey). Sis pats lasitajs strada uz Windows =( Uzstadisu 32bit 12.04 virtuala mashina, un ja tas are nestrada ar sho lasitaju, maksasu par jaunu lasitaju =(

  11. Diemžēl 64bit vidē pagaidām nav izdevies middleware piespiest darboties.
    Bet izveidojot chrootā 32bit vidi, ir izdevies iedarbināt autorizāciju izmantojot firefox – pārbaudīts swedbankā un eparaksts.lv lapā. Tai pašā 32bit vidē palaists eparakstitajs3 diemžēl neredz karti, lai arī izmanto to pašu bibliotēko ko 32bit firefox.
    Nejēdzīgi ir tas, ka autorizējoties pārlūkā ir jāievada abi pin – vispirms pin2 pēc tam pin1 (iespējams tas tādēļ, ka norādīju otlv-pkcs11.so nevis libgclib.so – otrais nedarbojās), bet pozitīvi ir tas, ka pēc tam swedbankā darbojas maksājumu apstiprināt poga, šo neizdevās piespiest darboties Macosā.

    Ļoti nepatika LVRTC attieksme/vienaldzība Linux atbalstam! Windows viss strādājot 😀 tik nesapratu kādēļ windows tiek reklamēts prasot atbalstu Linux videi.

  12. Debian 64bit uzinstalējot LVRTC piedāvāto middleware no https://www.eparaksts.lv/lv/palidziba/lejupielades/eid-kartes-starpprogrammatura/ un piedzenot trūkstošās pakas (libssl0.9.8 32bit versija un libpcsclite1:i386, pcscd palika sākotnēji uzliktais 64bit), izdevās ar eID PinRīku (/opt/latvia-eid/bin/otlv-pintool) pieslēgties eID kartei un redzēt tās saturu.

    Tajā pašā middlewarē iekļautais opensc-tool saka, ka kartes nosaukums ir “IAS/ECC v1.0.1 Oberthur”, bet opensc wiki links uz ražotāja Oberthur lapu ir miris. Jārok tālāk.

  13. Uz Ubuntu 14.04 neizdodas šī darbība:
    “Atveram Firefox Preferences > Advanced > Certificates > Security devices > Load.
    Nosaukumu ierakstam pēc izvēles, bet pie Module filename norādām:
    /usr/lib/pkcs11/libgclib.so”
    To neizdodas atrast un nekas tālāk nenotiek. Vai varat ieteikt, kā rīkoties?

  14. Linux Mint 17.1 “Rebecca”
    Firefoxā eds.vid.gov.lv varu ar eID ieiet bez problēmām.
    Swedbanka, Latvija.lv un eparaksts.lv saka:
    “Lietotāja identifikācija neizdevās!”
    “Lai autentificētos ir nepieciešams klienta sertifikāts, kas nav saņemts.”
    “Error code: sec_error_bad_signature”

    Kur ir atšķirība?
    Kaut kad sen atpakaļ šajos trijos tiku ar eID (tad gan ar Windows7)

Leave a comment

Your email address will not be published. Required fields are marked *