[ salvaric @ 28.04.2016. 13:39 ] @
Pozdrav,

interesuje me dal je neko primenjivao ovu temu iz Delphi-ja, i da li ima neki api ili šta već koji je free?

Hteo bi da neka dokumenta, koja prosleđujem kupcima, a ima ih dosta svakog meseca, vršim elektronski potpis na njima i prosleđujem ih putem e-mail-a, kako bi izbegao štampanje i skeniranje.

Dokument mogu da pretvorim u bilo koji format (pdf - default), i hteo bi da se automatski generišu potpisi i prosleđuju na njihove e-mail adrese.

Posedujem sertifikat kao fizičko lice (pošta ca).
[ salvaric @ 03.05.2016. 14:05 ] @
Nadam se da sam dobro formulisao pitanje.
[ savkic @ 03.05.2016. 15:48 ] @
Jesi, ali verovatno nije to niko radio pa nema odgovora. Pitanje je i da li postoje freeware rešenja za tu svrhu.
Pokušaj da nađeš neko rešenje koje nije vezano za Delphi (npr ActiveX komponenta).
[ komplikator @ 09.05.2016. 11:54 ] @
Na žalost znam kako digitalno potpisati XML. Što se PDF-a. tiče bez dodatnih (plaćenih) komponenti baš i ne bude išlo. Obih dana baš i sam razmišljam o jednom projektu gdje bi se radilo digitalno potpisivanje. Ja recimo koristim osobni sofverski certifikat izdan od državnog CA (Fina RDC) i uredno ga koristim z apotpisivanje PDF-ova. iz Adobe Acrobat Readera. Krenuo sam istraživati neku uporabu Adobe Acrobat Reader API-a. no baš i nisam daleko otišao. Eventualno da PDF uglaviš u neki XML koji potpišeš? Nije problem napraviti checksum i sl. ili se igrati ičime iz p12/pfx certifikata nego uglaviti sve što ide u potpisni envelope dokumenta.
[ _owl_ @ 09.05.2016. 12:10 ] @
Pogledaj iText (postoji i .NET port) - licenca je AGPL ili standardna komercijalna.

[ savkic @ 09.05.2016. 12:14 ] @
> Na žalost znam kako digitalno potpisati XML. Što se PDF-a. tiče bez dodatnih (plaćenih) komponenti baš i ne bude išlo.

Mislim da se za jedno 5 dana to moze resiti i samostalno, potpis PDFa je jednostavan, uzmeš ceo sadržaj fajla od do, uradiš cheksum i rezultat upišeš natrag u PDF. Problem je ispravno pročitati PDF i posle ga updejtovati pa bi to moralo da se dobro uroni u specifikaciju formata.

> Obih dana baš i sam razmišljam o jednom projektu gdje bi se radilo digitalno potpisivanje. Ja recimo koristim osobni sofverski certifikat
> izdan od državnog CA (Fina RDC) i uredno ga koristim z apotpisivanje PDF-ova. iz Adobe Acrobat Readera. Krenuo sam istraživati neku
> uporabu Adobe Acrobat Reader API-a. no baš i nisam daleko otišao.

AcrobatReader dolazi kao ActiveX komponenta, pa pogledaj ako su slučajno stavili u nju i podršku za potpisivanje.

> Eventualno da PDF uglaviš u neki XML koji potpišeš? Nije problem napraviti checksum i sl. ili se igrati ičime iz p12/pfx certifikata nego
> uglaviti sve što ide u potpisni envelope dokumenta.

Možda i to (ili potpisivanje pa stavljanje u zip) samo proveri da li je to ispravno sa stanovišta digitalnog potpisa.
[ komplikator @ 10.05.2016. 07:28 ] @
Ako nekoga zanima detaljnije što Adobe kaže o tome - Adobe ima PDF lib i Acrobat SDK, a za digitalno potpisivanje treba ovaj drugi.
SDK je dostupan na njihovim stranicama, može se preuzeti dokumentacija i kompletan SDK (cca. 25MB svaki).

Evo što Adobe kaže o potpisivanju: link

Kažu da postoji i DDE i OLE, u SDK-u. ima headera i svačega iz svijeta M$, za Delphi već možete i pretpostaviti kako je podržan.

Još sam u "letećem" proučavanju dokumentacije no i dalje mi se nameću dvije varijante. Sam kreirati i dodavati sign field i dictionary objekt gdje vjerojatno čekaju zamke sa raznim normalizacijama, formatima i oblikovanjima i eventualni problemi sa različitim formatima PDF-. no gdje ne ovisimo o njihovom pregledniku i sl. i "B" varijanta gdje se koristi njihov API, ali se ovisi i o bugovitosti koja je vidim česta kod svakog potencijalnog (korisnicima često nevidljivog) automatskog updatea i razlika API između verzija (X, XI, DC,... a tek stariji kojih ima u produkciji valjda od 4 do DC).

Koliko god volim vlastito riješenje (ego/ponos, učenje, neovisnost, relativna ušteda) postavlja se pitanje isplati li se više uzeti već jedno od 2 ili 3 gotova rješenja.
Najbrža bi bila implementacija potpisa kao što se i Savkic složio, kroz neku enkapsulaciju u dokumentu ili u arhivi no najzgodnije bi bilo upravo da netko drugi na drugoj strani može validirati certifikat, da se može lijepo pohraniti i ispisati uz vidljivi digitalni certifikat i provjeru, uz timestamp, vodeni žig i sl. baš kao što je to Adobe i zamislio.

Da ne govorim da je prošli tjedan Vlada RH službeno donesla zakon o okidanju (državnog) pečata. Dakle, bit će posla s ovime sve više, a kao što sam napisao ja već godinama u poslovanju koristim digitalno potpisane dokumente i to mi je normalan način poslovanja.