Zvanična klijentska aplikacija Poreske uprave ePorezi može se preuzeti sa njihove stranice. U pitanju je Java aplikacija koja dolazi sa posebno priređenom distribucijom Oracle Java radnog okruženja. Aplikacija podržava samo Microsoft Windows operativni sistem i sertifikatima u Personals skladištu pristupa kroz Microsoft CryptoAPI koji poziva operacije na pametnoj kartici ili tokenu posredstvom midlvera, piše Goran Rakić na GitHubGistu.
Sertifikaciono telo Pošte korisnicima nudi SafeSign midlver, osim u verziji za Windows i u verziji za GNU/Linux i macOS operativne sisteme. Midlver isporučuje prateću aplikaciju za upravljanje karticom/tokenom i PKCS#11 biblioteku. Programi poput jSignPDF, Evolution ili LibreOffice mogu da učitaju ovu biblioteku i omoguće korisniku elektronsko potpisivanje dokumenata.
Elektronsko potpisivanje se koristi i na portalu ePorezi Poreske uprave, posredstvom pomenute klijentske aplikacije.
Da bi klijentsku aplikaciju mogli da koristimo na GNU/Linuxu moramo da je naučimo da kartici/tokenu umesto kroz Microsoft CryptoAPI pristupa kroz SafeSign PKCS#11 modul. Minimalno (nezvanično) prerađena verzija ePorezi 1.0 tako da umesto MS CAPI koristi PKCS#11 sa odgovarajućim putanjama midlvera prema podrazumevanoj instalaciji na GNU/Linuxu se može preuzeti u obliku DEB paketa sa:
http://goranrakic.com/tmp/ePorezi_1.1.deb
Prepravljena verzija nije podržana od strane Poreske uprave. Napravljena je isključivo u najboljoj nameri, sa željom da se i korisnicima GNU/Linuxa omogući pristup portalu. Izmene menjaju samo deo aplikacije koji je okrenut ka kartici, bez izmena u delu koji je okrenut ka portalu. Za pristup kartici izmenjena aplikacija koristi isključivo postojeće PKCS#11 biblioteke i ne bi trebalo da dovede do oštećenja ili neočekivanog blokiranja kartice (kartica će biti blokirana u slučaju da korisnik više puta unese pogrešan PIN kod, što je podrazumevano ponašanje). Ipak napisano ne predstavlja garanciju i ovu nepodržanu i prepravljenu verziju koristite isključivo na svoju odgovornost, navodi Rakić.
Paket se instalira u /opt/ePorezi i dodaje prečicu za pokretanje i ujedno se registruje da se pokrene preko linka eporezi:// kakvi se koriste na portalu ePorezi (engl. url handler).
Neophodan preduslov je da imate karticu ili token sa sertifikatom koji izdaje Sertifikaciono telo Pošte, podešen čitač kartica i instaliran SafeSign midlver. PKCS#11 datoteka midlvera treba da se nalazi na putanji /usr/lib/libaetpkss.so.3.
Ukoliko ne koristite Javu iz standardnih paketa distribucije, već na primer Oracle instalaciju Jave, morate da podesite putanju do libpcscdlite datoteke prema uputstvu iz odeljka “Mogući problemi #1” sa ovog linka u protivnom aplikacija će prijaviti da ne vidi vaš čitač/token.
Klijentska aplikacija je minimalno izmenjena, samo koliko je bilo neophodno za učitavanje PKCS#11 modula. U slučaju greški aplikacija će “zakucati” ili “pući”, i jedino u log zapisu ili eventualnom ispisu u terminalu možete da naslutite šta je problem. Ovakvo prepravljanje gotove aplikacije kada izvorni kod nije dostupan nije jednostavno i postoje ograničene mogućnosti za dodavanje nove funkcionalnosti. Verovatno bi bilo lakše i praktičnije napraviti novu alternativnu aplikaciju, koja bi mogla da izgleda i ovako.
Osim Sertifikacionog tela Pošte, PKCS#11 midlvere za Linux moguće da poseduju još Halcom (Nexus Personal) i PKS (NetSet CardEdge, koji moguće da radi i sa novim ličnim kartama). Starija verzija 32-bitnog NetSet CardEdge modula se može pribaviti u distribuciji KZO čitač aplikacije za Linux sa sajta RFZO ali pri radu sa novom ličnom kartom tu verziju, ni noviju koja „puca“ nakon unosa PIN-a, nisam uspeo da pokrenem, piše Rakić.
Izvor: gist.github.com