Digitalno potrdilo php
3 naročniki
3 naročniki
Zanima me če kdo ve na kak način poteka proces, če bi hotel da uporabnik podpiše pogodbo z digitalnim potrdilom. Uporabljam php programski jezik.
tnx
6 odgovorov
Podpisovanje se izvaja client side (ker potrebuješ dostop do certifikata), tako da potrebuješ posebno komponento za to. Možnosti so ali Java applet ali pa browser plugin (tukaj si omejen z browsersjem).
Ampak kako potem pošlješ na server side podatek ali je pogodba podpisana? Če prav zastopim treba implementirat v html java applet. Preko tega dobim podatek ali je pogodba podpisana. Potem pa moram poslati na server side podatek ali je podpisana. Vendar ker poteka prenos iz client side, lahko uporabnik na zelo enostaven način pošlje drugačen podatek. Nekako mi še vedno ni jasno. Se opravičujem če sem zastavil preveč dummy vprašanje :)
V teoriji zgleda to približno tako (sam sem v praksi bolj po površini praskal). Strežni naredi hash vsebine za podpis (recimo pri e-dokumentih, XML datoteka), in pošlje komponenti za podpis zahtevek za podpis. Uporabnik potem izbere certifikat in potrdi podpis, in "podpiše" se ta hash (digest), in potem komponenta pošlje strežniku ta podpisan hash. Potem pa ti ko preverjaš če je podpis veljaven, znova narediš hash originalne vsebine, podpišeš z javnim ključem, in potem primerjaš podpisa/hash-a. Če sta enaka je podpis veljaven, če ne pa ne. Tako da ni možno da bi ti uporabnik podvalil kaj drugega :).
Zdej recimo če želiš imet podpisane pogodbe, je varianta da si uporabnik prenese PDF, ga izpolne, in potem znotraj Acrobata digitalno podpiše PDF - tudi to je možno. In potem ti posreduje ta podpisan PDF.
Ampak druga zgodba je veljavnost takega dokumenta oz. hramba. Zadnje čase nisem na tekočem kako je z zakonodajo, ampak pred nekaj leti je veljalo da mora biti tak dokument shranjen v e-arhivu. Delali smo recimo za arhiviraj.si (http://www.mikrocop.com/sl/Online-hramba-dokumentov), ki ti omogoča hrambo dokumentov.
V glavnem, je zelo kompleksna zadeva če mene vprašaš, predvsem zaradi zakonodaje - seveda če se ni spremenilo.
Na tvojem mestu bi:
- preveril kaj pravi zakonadaja - ali je potrebno vrsto dokumenta, ki ga želiš dig. podpisati hraniti na poseben način.
- ali je možnost da pač uporabnik/stranka pač sama podpiše PDF in ga prenese na strežnik
Sam sem si kar nekaj časa belil glavo s to temo in kot vedno država vse zakomplicira :). Ampak še enkrat, nevem kakšno je trenutno stanje na tem področju. Recimo da želiš podpisovati neko pogodbo - in v primeru da pride do česarkoli ali se lahko pravno sklicuješ na takšno pogodbo (če je recimo to podpisani PDF). Veliko sreče!
Tnx za obrazložitev. A mogoče veš na pamet če ima kako vezo s katerim overiteljem podpiše pogodbo (SIGOV-CA, SIGEN-CA,POŠTA®CA,HALCOM-CA,AC NLB). Velja pravno da je pogodba lahko podpisana s podpisom od katerega koli overitelja? Malo off, kdo sploh lahko postane overitelj?
V bistvu je važno kakšno je samo potrdilo, ker nekatera so recimo samo za avtentikacijo. Do se da preverit tako da pogledaš podrobnosti potrdila v nastavitvah, browserju, etc. Nekje v lastnostih potem piše čemu je namenjeno posamezno potrdilo.
Za overitelja pa mislim da je cel kup tehničnih, kadrovskih, administrativnih in zakondajnih pogojev... Možno da je na SIGOV/SIGEN kje to zapisano.