XAdES, CAdES a PAdES?

Nemyslim si, ze mozeme jednoducho pausalizovat a povedat, ze PDF je vo vsebecnosti lepsi format ako XML alebo vice versa. Podla mna treba posudit vyhody a nevyhody dostupnych formatov a vzdy vybrat pre dany use case ten najvhodnejsi. Aby som debatu posunul trosku do technickejsej roviny skusim zhrnut dostupne formaty elektronickeho podpisu:

  • CAdES definovany napriklad v ETSI TS 103 173
    Pouziva sa na podpisovanie dokumentov lubovolneho formatu, pretoze na dokument sa pri nom povazuje za binarne data. Podpise teda TXT, XML, PDF, DOC, DOX, EXE, cokolvek.

  • XAdES definovany napriklad v ETSI TS 103 171
    Pouziva sa zvacsa na podpisovanie XML dokumentov, ktore je potrebne dalej strojovo spracovavat. V skutocnosti vsak moze podobne ako CAdES podpisovat lubovolne binarne data. Oproti CAdES vsak pri podpisovani XML poskytuje ovela vacsiu granularitu t.j. nie je nutne podpisovat celu XML strukturu, ale mozu sa podpisat len jej vybrane casti.

  • PAdES definovany napriklad v ETSI TS 103 172
    Pouziva sa vyhradne na podpisovanie PDF dokumentov a jeho pouzitie je teda najviac obmedzene. Pouzivatelmi najviac vnimana vyhoda je, ze podpisany dokument nie je zabaleny v ziadnom kontajneri a teda ho vie zobrazit vacsina PDF prehliadacov. Tie pokrocilejsie (napr. Acrobat Reader) vedia dokonca aj zobrazit podpisy a vykonat ich validaciu.

No a teraz trosku blizsie k tej dileme XML vs PDF:

  • XML dokumenty maju tu vyhodu, ze su strojovo velmi lahko spracovatelne a pomocou XSD je mozne relativne lahko vykonavat ich pomerne striktnu strukturnu ale aj obsahovu validaciu. Pomocou XSLT sa zase daju transfromovat na ine typy dokumentov, ktore su vhodnejsie napriklad na vizualizaciu (TXT, HTML …). IMO prave preto sa XML presadzuje vo formularovych rieseniach (napr. Microsoft InfoPath). Nezanedbatelnou vyhodou XML formatu je, ze komponenty na pracu s nim su volne dostupne snad pre kazdy rozumny programovaci jazyk ci vyvojovu platformu.

  • PDF dokumenty maju tu vyhodu, ze ich koncovy pouzivatel vie lahko zobrazit, pretoze pre kazdu rozsirenejsiu desktopovu aj mobilnu platformu existuje nejaka aplikacia co to zvladne. Ich strojove spracovanie je vsak nocna mora (OCR pre zachovanie dostojnosti vynechajme) a ked sa zacnu podpisovat PAdESom, tak si treba uvedomit, ze kazdy podpis podpisuje novu nezavislu reviziu dokumentu, ktora moze byt obsahovo odlisna od tej predchadzajucej. Ak sa takto rozhodne niekto podpisat napr. kupno-predajnu zmluvu, tak kupujuci moze v revizii 1 podpisat uplne iny text ako predavajuci v revizii 2. Ak ma nasledne nejaky system takuto zmluvu automatizovane spracovat, tak musi porovnat zhodu obsahu revizie 1 a revizie 2 a to je pri vacsine PDF dokumentoch uloha viac nez nelahka. PDF je totizto binarny format so specifikaciou presahujucou 1400 stran, umoznuje mnozstvo “zverstiev” a na vystupe ho vypluva kdejaka low-end kopirka, ktorej vyrobcu standardy absolutne nezaujimaju. No a v neposlednom rade treba tiez spomenut, ze pre vacsinu programovacich jazykov ci vyvojovych platforiem volne dostupne robustne PDF komponenty jednoducho neexistuju a clovek je odkazany na komercnych vendorov.

Moj osobny pohlad je teda nasledovny: Ak potrebujem data strojovo spracovavat, tak si takmer vzdy zvolim XML. Ak potrebujem data iba vyexporovat na prehliadanie, tak si takmer vzdy zvolim PDF.

4 Likes