Dokumentumok aláírása eSzemélyivel

Érdekes, magyar vonatkozású fejlesztésről adott hírt Vajna Miklós a blogjában: a LibreOffice 6.2 teljes mértékben támogatni fogja a dokumentumok digitális aláírását az új típusú magyar személyi igazolványokba opcionálisan beépített, az állam által elismert tanúsítvánnyal.

Az eSzemélyi az elterjedtebb, és a LibreOffice-ban is támogatott RSA algoritmus helyett az ECDSA algoritmust használja. A digitális aláírások kezelésére a LibreOffice Windows alatt a rendszer által biztosított kriptográfiai szolgáltatásokat, Linux alatt pedig az NSS könyvtárat használja. Innen már sejthető, hogy a megoldást platformonként külön-külön kellett elkészíteni. Windowson a LibreOffice a CryptoAPI-t használta, amely nem támogatja az ECDSA-t, ezért mindent át kellett állítani a CryptoAPI-t leváltó CNG-re. Az NSS támogatja ugyan az ECDSA-t, de a köztes rétegben a LibreOffice xmlsecurity könyvtárba fixen bele volt drótozva az RSA algoritmus használata, így itt ennek kibővítése volt a feladat. Továbbá minden digitális aláírást támogató dokumentumtípus (ODF, OOXML és PDF) esetén el kellett végezni a megfelelő módosításokat a fájlformátumokat kezelő kódrészletekben.

Vajna Miklós kb. másfél éve kezdett foglalkozni ezzel a problémával a szabadidejében. Mostanra zárult le a fejlesztés a fent hivatkozott bejelentéssel, miszerint az eSzemélyivel aláírt ODF, OOXML és PDF dokumentumok aláírásait tudja ellenőrizni a LibreOffice, továbbá maga is alá tudja írni az eSzemélyivel az ilyen formátumú dokumentumokat. Linux és Windows alatt volt tesztelve a megoldás, de sejthető, hogy macOS-en is működik, mivel ott is az NSS-t használja a LibreOffice.

“Dokumentumok aláírása eSzemélyivel” bejegyzéshez 4 hozzászólás

  1. Megtudható arról valami, hogy milyen kártyaolvasó kell hozzá Linux alatt (amit Miklós is említ)?

    1. Van többfajta kártyaolvasó, nekem Kelemen Gábor a “REINER SCT cyberJack RFID basis” olvasót ajánlotta, mivel ez Linuxon is működik elfogadhatóan.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöljük.