Câteva considerații
Sunt două variante de a semna electronic un document, cu tehnologia java (care permite independența față de sistemul de operare): local (aplicație desktop) și în browser web (applet). În această pagină insistăm pe partea mai grea, cea web. Ambele au la bază aceleași principii și pachete java, pachete ce trebuiesc instalate neapărat pe sistemul local (necesită să aveți funcțională o mașină virtuală java) , acolo unde are loc accesul securizat la certificatele digitale. Pe lângă pachetele specifice lucrului cu certificate digitale, atât pe suport hardware (smartcard) – PKCS#11 – cât și în format de fișiere (.p12 sau .pfx) – PKCS#12 -, regăsite standard în JRE, aplicația scrisă de noi are nevoie, pentru partea de prelucrare a fișierelor pdf în vederea semnării, de câteva librării (jar-uri) suplimentare, disponibile mulțumită altor inimoși. Acestea sunt:
Ele trebuie să fie instalate pe calculatorul pe care se face semnarea, adică pe acela la care este conectat dispozitivul smartcard (cheia privată nu poate părăsi dispozitivul pentru a creea semnătura în altă parte). Aceasta se poate face în două moduri: includerea lor în aplicația de semnare sau instalarea anterioară pe calculatorul gazdă. Punem la dispoziție mai jos ambele variante, încercând să ne încadrăm în cerințele licenței fiecărui realizator, licențe pe care le găsiți pe paginile lor web sau în interiorul pachetului descărcat. Cât privește licența codului scris de noi, rămâne de stabilit, în funcție de mai mulți factori. Vrem să fie cât mai liberă și open source. Deocamdată, puteți folosi aplicația “așa cum este”. Pentru integrare în alte aplicații, vă rugăm să ne contactați.
Recomandăm varianta de instalare a acestor librării suplimentare pe propriul calculator. Este și destul de simplu pentru utilizatorii de Linux, ele fiind incluse în repository distribuțiilor mai noi. Pentru Fedora sunt disponibile în yum, pentru Kiwi/Ubuntu în synaptic. Din aceste administratoare de pachete ele sunt instalate în /usr/share/java, de unde sunt direct accesibile aplicației desktop. Pentru applet ele sunt disponibile doar în directorul /lib/ext al mașinii virtuale (jre) instalate pe sistem. De obicei, în Linux calea este /usr/lib/jvm/jre/lib/ext, iar în Windows C:\Program Files\java\lib\ext.
Se consideră că aveți instalate driverele pentru dispozitivele smartcard și că, de asemenea, aveți salvate certificate X.509 de tip PKCS#12, sub formă de fișiere .p12, sau mai vechiul format .pfx. (Accesul la anumite baze de date cu certificate va fi implementat într-o versiune viitoare.)
Semnare din aplicație desktop
Descarcă aplicația completă (cu librării)
Descarcă aplicația fără librării
Se descarcă fișierul zip și se dezarhivează într-un director accesibil user-ului. Se pornește cu websign.sh (Linux) sau cu websign.bat (Windows).
Semnare online (în browser)
Pentru cunoscutele restricții de securitate, procesele de comunicare cu certificatele, și cele de semnare, au loc doar pe calculatorul local, de pe server fiind încărcat un applet Java care realizează aceste operații. La rândul lui, appletul are restricții de acces la resursele locale ale calculatorului gazdă, în acest caz fiind vorba de:
- locația driverului pentru smartcard (ex.fișierul libeToken.so sau libeToken.dll) sau a certificatului PKCS#12 (fișierul .p12 sau .pfx)
- locația fișierelor ce urmează a fi semnate, precum și a celor salvate.
- locația fișierelor de configurare pentru certificate și pentru caracteristicile semnăturii (vizibilitate, poziție etc.), dacă sunt “memorate” local.
Accesul la aceste resurse trebuie musai dat de către utilizator, printr-o intervenție manuală (se face doar o dată, la prima instalare). Aceasta se realizează prin editarea unui fișier specific, în care sunt date (și asumate) drepturile de acces. Un model de astfel de fișier puteți descărca de aici .
WebSign java.policyEl trebuie salvat strict cu numele ".java.policy" (nu uitați și punctul din față) în rădăcina directorului user-ului, exemplu /home/gigel/ .
Trebuie să înțelegeți și să acceptați acest efort ca fiind foarte important pentru siguranța propriului calculator. Appletul venit de pe o pagină web nu poate face altceva decât ce îi permiteți aici.
Appletul vă mai cere un efort, dar mult mai mic: să-i permiteți să ruleze pe propria-vă mașină. Acesta se reduce la un simplu click pe butonul “Run” din fereastra de avertizare ce apare în pagină la încărcarea lui. Dacă sunteți suspicios (și nu strică), puteți face un efort în plus, cerând informații suplimentare despre autorul appletului, ce vă sunt puse la dispoziție din acea fereastră. Toate acestea se datorează unei alte reguli de bază pentru applet: el trebuie să fie semnat cu un certificat digital, tocmai în ideea veridicității sursei lui.
Pentru a funcționa, appletul mai are nevoie de două condiții: să existe o mașină virtuală java (JRE) funcțională pe calculator și browserul web folosit să știe să colaboreze cu mașina java, lucru ce se face printr-un plugin ce nu ridică probleme de instalare (este larg folosit și de alte aplicații).
Semnează online cu:
Applet fără librării (Dacă le aveți instalate local. În acest fel încărcarea va fi mai rapidă.)
Așteptăm feedback și contribuții la:
office@webgest.ro