Werken met digitale handtekeningen

Een digitale handtekening is een technologische implementatie van elektronische handtekeningen om documenten te ondertekenen en de ondertekening te authenticeren om te garanderen dat een document sinds de ondertekening niet is gewijzigd. Elke digitale handtekening is uniek voor elke tekenaar vanwege het volgen van het PKI protocol om zowel openbare als private sleutels te genereren. Het digitaal ondertekenen van een document betekent het maken van een handtekening met behulp van de private sleutel van de ondertekening waar een wiskundig algoritme wordt gebruikt om de gegenereerde hash te versleutelen.

Aspose.Words Hiermee kunt u bestaande digitale handtekeningen detecteren, tellen of verifiëren en ook een nieuwe handtekening toevoegen aan uw document om erachter te komen of er geknoeid wordt. U kunt ook alle digitale handtekeningen uit een document verwijderen. Gebruik de DigitalSignatureUtil klas om te werken met digitale handtekeningen.

Dit artikel legt uit hoe je al het bovenstaande kunt doen om de authenticiteit en integriteit van een digitaal document te valideren.

Ondersteunde formaten

Aspose.Words kunt u werken met digitale handtekeningen op DOC-, OOXML- en ODT-documenten en om het gegenereerde document in PDF of XPS formaat.

Beperkingen van digitale handtekeningen

De tabel hieronder beschrijft een paar beperkingen die u kunt ondervinden tijdens het werken met digitale handtekeningen door Aspose.Words, evenals een aantal alternatieve opties.

Beperking Alternatieve optie
Verlies van digitale handtekeningen op een document na het laden en opslaan. Daarom kan het verwerken van een document naar een server het verlies van alle digitale handtekeningen veroorzaken zonder een kennisgeving Controleer of een document digitale handtekeningen heeft en neem de passende actie als er iets gevonden wordt. Stuur bijvoorbeeld een waarschuwing naar de klanten die hen informeren dat het document dat ze uploaden digitale handtekeningen bevat die verloren gaan als het wordt verwerkt
Aspose.Words ondersteunt het werken met macro’s in een document. Maar Aspose.Words ondersteunt nog geen digitale handtekeningen op macro’s Exporteer het document terug naar een Word-formaat, en gebruik Microsoft Word om een digitale handtekening toe te voegen aan macro’s

Digitale handtekeningen detecteren, tellen en verifiëren

Aspose.Words kunt u digitale handtekening te detecteren in een document met behulp van de DetectFileFormat methode en de HasDigitalSignature eigendom. Het is vermeldenswaard dat een dergelijke controle alleen het feit van de handtekening zal detecteren, maar niet de geldigheid ervan.

Een document kan meerdere malen worden ondertekend, en dit kan door verschillende gebruikers worden gedaan. Om de geldigheid van digitale handtekeningen te controleren, moet u ze laden uit het document met behulp van de LoadSignatures methode en gebruik IsValid eigendom. Ook Aspose.Words kunt u een set van alle digitale handtekeningen te tellen in een document met behulp van de Count eigendom.

Dit alles biedt een efficiënte en veilige manier om een document te controleren op handtekeningen voordat het wordt verwerkt.

Het volgende voorbeeld van code laat zien hoe u de aanwezigheid van digitale handtekeningen kunt detecteren en verifiëren:

Een digitale handtekening aanmaken

Om een digitale handtekening te maken, moet u een ondertekeningscertificaat laden dat identiteit bevestigt. Wanneer u een digitaal ondertekend document verzendt, stuurt u ook uw certificaat en publieke sleutel.

Aspose.Words Hiermee kunt u X.509 certificaat, een digitaal certificaat dat gebruik maakt van de internationaal geaccepteerde X.509 PKI standaard om te controleren of een publieke sleutel behoort tot de ondertekening opgenomen in het certificaat. Om dit te doen, gebruik de Create methode binnen de CertificateHolder Klasse.

In de volgende secties wordt uitgelegd hoe je een digitale handtekening, handtekeningregel en hoe je een gegenereerd PDF-document kunt ondertekenen.

Een document ondertekenen

Aspose.Words kunt u een DOC tekenen, DOCX, XPS, of ODT-document digitaal met behulp van de Sign methode en SignOptions eigenschappen.

Het volgende voorbeeld van code laat zien hoe documenten te ondertekenen met behulp van een certificaathouder en tekenopties:

Een ondertekeningsregel toevoegen

Een handtekeninglijn is een visuele weergave van een digitale handtekening in een document. Aspose.Words kunt u een handtekening regel in te voegen met behulp van de DocumentBuilder.InsertSignatureLine methode. U kunt ook de parameters voor deze weergave met behulp van de SignatureLineOptions Klasse.

Zo laat de onderstaande foto zien hoe geldige en ongeldige handtekeningen kunnen worden weergegeven.

drawing drawing

Ook als een document een handtekeningregel bevat en geen digitale handtekening, is er een functie om de gebruiker te vragen een handtekening toe te voegen.

Het volgende voorbeeld van code laat zien hoe je een document met een persoonlijk certificaat en een specifieke ondertekeningsregel ondertekent:

Een aangemaakt PDF-document ondertekenen

Aspose.Words kunt u alle details van een PDF-document met behulp van de PdfDigitalSignatureDetails eigenschappen.

Het volgende voorbeeld van code laat zien hoe een gegenereerde PDF te ondertekenen:

De digitale ondertekeningswaarde ophalen

Aspose.Words biedt ook de mogelijkheid om de digitale handtekening waarde van een digitaal ondertekend document als een byte array met behulp van de SignatureValue eigendom.

Het volgende voorbeeld van code laat zien hoe je de digitale handtekeningwaarde als bytearray van een document kunt verkrijgen:

Digitale handtekeningen verwijderen

Aspose.Words kunt u alle digitale handtekeningen te verwijderen van een ondertekend document met behulp van de RemoveAllSignatures methode.

Het volgende voorbeeld van code laat zien hoe digitale handtekeningen uit een document worden geladen en verwijderd: