Lucraţi cu semnături digitale

O semnătură digitală este o implementare tehnologică a semnăturilor electronice pentru a semna documente și a autentifica semnatarul pentru a garanta că un document nu a fost modificat de când a fost semnat. Fiecare semnătură digitală este unică pentru fiecare semnatar datorită faptului că urmează protocolul PKI pentru a genera atât cheile publice cât și pe cele private. A semna o semnătură digitală înseamnă crearea unei semnături folosind cheia privată a semnatarului, unde un algoritm matematic este utilizat pentru a cripta hash-ul generat.

Aspose.Words vă permite să depistați, să numărați sau să verificați semnăturile digitale existente și, de asemenea, să adăugați o nouă semnătură la documentul dvs. pentru a găsi orice modificări în acesta. De asemenea, poți elimina toate semnăturile digitale de pe un document. Foloseşte clasa DigitalSignatureUtil pentru a lucra cu semnături digitale.

Acest articol explică cum să faci toate cele de mai sus pentru a valida autenticitatea și integritatea unui document digital.

Formaturi suportate

Aspose.Words vă permite să lucraţi cu semnături digitale pe documentele DOC, OOXML şi ODT şi să semnaţi documentul generat în format PDF sau XPS.

Limitările semnăturilor digitale

Tabelul de mai jos descrie câteva limitări pe care le puteți întâmpina în timp ce lucrați cu semnături digitale prin Aspose.Words, precum și câteva opțiuni alternative.

Limitare Opțiune alternativă
Pierderea semnăturilor digitale de pe un document după încărcarea și salvarea acestuia. Prin urmare, procesarea unui document pe un server poate cauza pierderea tuturor semnăturilor digitale fără o notificare. Verificați dacă un document are semnături digitale și luați măsuri corespunzătoare în cazul în care se constată vreuna. De exemplu trimiteți o alerte către clienți informându-i că documentul pe care îl încarcă conține semnături digitale care se vor pierde dacă acesta este procesat.
Aspose.Words suportă lucrul cu macro-uri în cadrul unui document. Dar Aspose.Words nu acceptă încă semnăturile digitale pentru macro-uri. Exportați documentul înapoi la orice format Word și utilizați Microsoft Word pentru a adăuga o semnătură digitală la macrocomenzi.

Detectează, Numără şi Verifică Semnături Digitale

Aspose.Words îți permite să detectezi semnătura digitală într-un document folosind metoda DetectFileFormat și proprietatea HasDigitalSignature. Este de remarcat că un astfel de control va detecta doar faptul semnării, dar nu și valabilitatea acesteia.

Un document poate fi semnat de mai multe ori și acest lucru poate fi realizat de către utilizatori diferiți. Pentru a verifica valabilitatea semnăturilor digitale trebuie să le încărcați din document folosind metoda LoadSignatures și utilizați proprietatea IsValid. De asemenea Aspose.Words vă permite să numărați un set de toate semnăturile digitale din cadrul unui document utilizând proprietatea Count.

Toate acestea oferă o modalitate eficientă și sigură de verificare a unui document pentru semnături înainte de procesarea acestuia.

Exemplul de cod de mai jos arată cum se detectează prezența semnăturilor digitale și se verifică:

Creați o semnătură digitală

Pentru a crea o semnătură digitală, va trebui să încărcați un certificat de semnătură care confirmă identitatea. Când trimiţi un document semnat digital, trimiţi şi certificatul tău şi cheia publică.

Aspose.Words îți permite să creezi certificate X.509, un certificat digital care folosește standardul internațional acceptat X.509 PKI pentru a verifica că o cheie publică aparține semnatarului inclus în certificat. Pentru a face asta, folosiţi metoda Create în clasa CertificateHolder.

Următoarele secțiuni explică cum să adăugați o semnătură digitală, un spațiu pentru semnătură și cum să semnați un document PDF generat.

Semnează un document

Aspose.Words vă permite să semnați digital un document DOC, DOCX, XPS sau ODT folosind metoda Sign și proprietățile SignOptions.

Exemplul de cod următor arată cum se semnează documente folosind un depozit de certificate și opțiuni de semnătură:

Adăugaţi o linie de semnătură

O linie de semnătură este o reprezentare vizuală a unei semnături digitale dintr-un document. Aspose.Words îți permite să introduci o linie de semnătură folosind metoda DocumentBuilder.InsertSignatureLine. De asemenea, poți seta parametrii pentru această reprezentare folosind clasa SignatureLineOptions.

De exemplu, imaginea de mai jos arată cum pot fi afișate semnăturile valide și invalide.

drawing drawing

De asemenea, dacă un document conține o linie de semnătură și nici o semnătură digitală, există o caracteristică care cere utilizatorului să adauge o semnătură.

Exemplul de cod următor arată cum să semneze un document cu o semnătură personală și o linie de semnătură specifică:

Semnează un document PDF generat

Aspose.Words vă permite să semnați și să obțineți toate detaliile unui document PDF folosind proprietățile PdfDigitalSignatureDetails.

Exemplul de cod următor prezintă modul în care se semnează un PDF generat:

Recupera valoarea semnăturii digitale

Aspose.Words oferă, de asemenea, posibilitatea de a obține valoarea semnăturii digitale dintr-un document semnat digital ca o matrice de octeți folosind proprietatea SignatureValue.

Exemplul de cod următor arată cum să obţinem valoarea semnăturii digitale ca o matrice de octeţi dintr-un document:

Elimină semnăturile digitale

Aspose.Words vă permite să eliminați toate semnăturile digitale dintr-un document semnat folosind metoda RemoveAllSignatures.

Exemplul următor de cod arată cum se încarcă şi se elimină semne digitale dintr-un document: