Înscrierea în PDF cu cartela inteligentă

Trebuie să semnez digital PDF dintr-un card inteligent. Problema este că cardul inteligent este la client și Fișierele sunt pe server. Am căutat foarte mult, dar nu am găsit nimic de folos. Acum vreau să o fac cu acești pași.

  1. Calculați The Hash of PDF
  2. Trimiteți-l clientului.
  3. Obțineți certificatul și cheia privată de pe client cu Applet și semnați hash-ul
  4. Trimiterea hash-ului semnat pe server
  5. Atașați semnătura în PDF.

Folosesc iText Lib pentru semnare. Dar metoda SetCrypto este necesară pentru a avea certificat, pe care nu îl am la server și fără a închide PDF-ul, nu pot calcula hash-ul. Am folosit, de asemenea, semnarea cu digest extern , dar această bucată de cod nu semnează nici măcar document.

Dacă cineva mă poate ajuta.

0
Fișierele acut sunt generate în mod programat și saturate pe server și un jurnal specific de rol în aplicație verifică documentele și dorește să le semneze digital. Acest rol specific are cartea inteligentă și apoi conectă cartelă inteligentă în mașina sa, iar fișierele se află pe server. Iar problema cu hash-ul este că hașul ar trebui calculat după adăugarea aspectului semnăturilor. Nu pot calcula înainte.
adăugat autor Vijay, sursa
Pentru a vă rezolva sarcina specială, vă oferim add-on Cryptography Distributed pentru produsul nostru SecureBlackbox. Vedeți o descriere detaliată a modului în care funcționează în răspunsul meu aici: stackoverflow.com/questions/10656100/… . Raspunsul este valabil pentru nevoile dumneavoastra pe masura ce va oferim editia Java a SecureBlackbox pe
adăugat autor Eugene Mayevski 'Allied Bi, sursa
Ai citit Semnături digitale pentru documente PDF , O carte albă a lui Bruno Lowagie (Software-ul iText) privind crearea și verificarea semnăturilor digitale integrate în PDF-uri utilizând iText?
adăugat autor mkl, sursa
Care este scopul semnării PDF-ului? Că PDF-ul este proprietatea clientului? Că PDF-ul "furat" poate fi readus la proprietar? Criptare? Autentificare (contractuală)? Ai putea obține un hash de la client, păstrează-l în PDF și folosește propriul certificat, pentru a dovedi că nu se amestecă și nu are dreptul de proprietate . Sau vrei sa spui criptarea cu cheia publica a clientilor? Nu.
adăugat autor Joop Eggen, sursa
Nu puteți obține cheia privată a clientului dvs. de pe smartcard. Trebuie să trimiteți hash-ul documentului de pe server (atent, acesta poate fi un defect în protocolul dvs.) și apoi să utilizați PKCS # 11 pentru a trimite hash-ul în smartcard-ul dvs. și pentru al semna. Acesta este un pic mai avansat, dar baza de cod este aceeași: github.com/dnascimento/AISSProject I m lucrez la o implementare cu Go github.com/dnascimento/
adăugat autor dario nascimento, sursa