Svi potrebni ETSI standardi su slobodno dostupni na vebu. Samo tehničko rešenje jeste složeno i ima puno ako-onda. Ali to nije nikakav lokalni problem, potpuno je ista situacija širom EU jer su propisi usklađeni i koristi se isto tehničko rešenje. Mislim da je nemoguće da bilo ko izda dokument sa preporukama, to je pre materijal za knjigu, a i to bi bilo opet samo za neko specifično okruženje i saveti bi bili pogrešni za bilo šta drugo.
Potpisivanje implementiraš u XAdES formatu za XML (ima puno varijanti), CAdES formatu za binarni sadržaj (ovo se koristi u S/MIME na primer) ili PAdES (za PDF, primenjeno na PDF/A format). Ako te zanimaju tzv. "Long-Term Validation" potpisi, onda imaš još potrebu da dodaješ vremenski žig prema RFC 3161 dokumentu. Dobra vest je što postoji puno gotovog koda koji možeš da koristiš poput crne kutije u svom softveru.
Nešto teže je ako želiš da prihvataš i proveravaš potpise, jer moraš da podržavaš razne formate (nije samo potpis problem već i container dokumenta, npr. .docx iz OOXML koristi XAdES ali onda to ubaci u ZIP i ti moraš da znaš gde je šta tu). Skoro da je nemoguće u jednom softveru podržati sve varijante. Zato svi u svojim softverima podržavaju samo neku varijantu i onda nalažu drugima da dokument prirede i potpišu onako kako softver za proveru to podržava. EU na primer ima dokument (2011/130/EU) gde naglašava određene varijante koje treba da podržavaju sva IT rešenja za cross-border services, ali taj dokument nije savršen. Nisu mogli da se dogovore, jer tehnologija jeste neizbežno komplikovana.
Pri validaciji treba i detaljno da ispratiš policy, a to je možda i najkomplikovanije od svega. Da ne govorimo o propisnom arhiviranju. E sada šta će od toga biti važno zavisi od samog projekta i čemu je softver namenjen.
Jedna moguća varijanta jeste da se koristi gotov servis za potpisivanje, prijem i proveru potpisa. Kako su oblaci i veb popularni, na tržištu je dostupno nekoliko rešenja za integraciju u veb aplikacije. Na nivou EU postoji open-source projekat
Digital Signature Service. Belgija od ranije ima
eid-dss koji je takođe open-source, a tu su i komercijalna vlasnička rešenja poput
Ascertia ADSS. Ovo
nije loša prezentacija na temu arhitekture DSS, naravno pojedina rešenja se razlikuju. Ono što bi Digitalna agenda mogla da uradi jeste da zapakuje i reklamira EU DSS softver, ali nisam siguran da bi to zadovoljilo očekivanja domaćih programera. Uostalom ovaj softver jeste open-source, a
ne može se baš očekivati od Uprave za digitalnu agendu da školuje programere. Elektronski potpis jeste strateški bitan, ali domaće programerske firme već imaju softver koji to implementira uspešno. Dakle, moguće je i bez da te država podučava tvom poslu. Na kraju ovo svakako nije pravo rešenje za "male" desktop aplikacije jer implementacija zahteva specifičnu infrastrukturu. Belgija ima i javno podignut eid-dss, ali pre svega kao demonstraciju bez ikakvih garancija na rad servisa. Naša država bi i to mogla da uradi, mada mi se to ne čini kao posebno korisno u praksi jer bi dokumente morao da šalješ na taj "državni server" radi validacije potpisa. Čitajući dopisnu listu eid-dss projekta, većina programera uopšte ne zna kako to da koristi.
Na
blogu sam napisao uvod o el. potpisu koji je pre svega iz ugla korisnika gotovog softvera. Tu su i
škrti slajdovi sa prezentacije u Zagrebu. Pošta CA na sajtu ima odlične dokumente kako koristiti elektronski potpis u popularnim programima.
Peđa, šta tebe tačno zanima, koja upotreba, koja tehnologija i okruženje? Potrudi se da budeš što precizniji.
Ono što ti ovde pitaš je nalik na "kako da učitam .docx dokument u mojoj aplikaciji". Teško da bilo ko može da sastavi "dokument" koji bi tako nešto objasnio. Mogu da ti kažu eno ga Libreofis ako ti to odgovara, ima i nekih gotovih biblioteka, a evo ti i standard OOXML od 6000 stranica koji opisuje strukturu dokumenta ako hoćeš sve sam.
Ja ovako
sa strane mogu da pomognem svojom dobrom voljom. Tebi nije strana open-source zajednica, pa ako bi to o čemu pričamo bilo objavljeno pod nekom slobodnom licencom, eto meni motivacije i da se više uključim.
Dadoaprile, Adobe Acrobat ima taj potpis slikom bez dodatnih elemenata. To je zapravo "faksimil potpisa", i nije potpis prema Zakonu o elektronskom potpisu. Starije verzije imaju i neku svoju tehnologiju koju su u međuvremenu izbacili. "Pravi" elektronski potpis u Adobe Acrobat dodaješ u PAdES formatu. Na
sajtu Pošta CA postoji odlično uputstvo. Dokumenti su "Potpisivanje i sertifikovanje PDF dokumenata korišćenjem aplikacije Adobe Acrobat" i "Konfigurisanje aplikacije Adobe Acrobat i Reader za kvalifikovano elektronsko potpisivanje prema tehničkoj specifikaciji ETSI TS 102 778 (PAdES) Part 2". Ako ti koncepti i pojmovi iz dokumenta nisu jasni, najbolje je da zatražiš konsultantsku podršku. Kada se isplanira sistem i tok dokumenata, kasnija upotreba nije komplikovana. Postoje i druge jednostavnije aplikacije u kojima se može potpisati PDF i gde treba napraviti manje podešavanja (moj favorit je
http://jsignpdf.sourceforge.net). Ako želite da ovo primenjujete između većeg broja korisnika, sa netipskim dokumentima možda nije loše rešenje da napravite namensku aplikaciju ili integrišete potpisivanje sa sistemom za upravljanje dokumentima. Ovako svako ko potpisuje mora imati Adobe Acrobat licencu ili imati dokument koji je pripremljen kao "predviđen za potpisivanje" što se onda radi Adobe Readrom. Ali to je politika kompanije Adobe, drugi proizvođači mogu tehničko rešenje da implementiraju drugačije.
I na kraju, kada Sloba kaže kako je sve odrađeno, treba pomenuti da
nije uvedena lokalna TSL. Ovo bi se moglo uraditi i ad-hoc, a najbolje kada bi se izmenili pravilnici o vođenju registra i evidencije izdavaoca sertifikata. Sve dok Srbija ne bude deo EU ovo je pre nelagodnost nego praktična prepreka. TSL nije neophodan, a ako se koristi neki gotov softver koji zahteva TSL svako može i samostalno da napravi listu. Za neupućene, TSL je način za distribuciju korenskih sertifikata i informacija o politici i datom ovlašćenju izdavalaca elektronskih sertifikata (CA kao trust service provider).
[Ovu poruku je menjao Goran Rakić dana 01.10.2012. u 02:06 GMT+1]