Werken met digitale handtekeningen

Een digitale handtekening is een technologische implementatie van elektronische handtekeningen om documenten te ondertekenen en de ondertekenaar te authenticeren om te garanderen dat een document niet is gewijzigd sinds het werd ondertekend. Elke digitale handtekening is uniek voor elke ondertekenaar vanwege het volgen van het PKI - protocol om zowel openbare als privésleutels te genereren. Een document digitaal ondertekenen betekent een handtekening maken met behulp van de privésleutel van de ondertekenaar, waarbij een wiskundig algoritme wordt gebruikt om de gegenereerde hash te versleutelen.

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

In dit artikel wordt uitgelegd hoe u al het bovenstaande kunt doen om de authenticiteit en integriteit van een digitaal document te valideren.

Ondersteunde Formaten

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

Beperkingen van digitale handtekeningen

In de onderstaande tabel worden enkele beperkingen beschreven die u kunt tegenkomen bij het werken met digitale handtekeningen via Aspose.Words, evenals enkele alternatieve opties.

Beperking Alternatief
Verlies van digitale handtekeningen op een document na het laden en opslaan ervan. Daarom kan het verwerken van een document naar een server leiden tot het verlies van alle digitale handtekeningen zonder kennisgeving. Controleer of een document digitale handtekeningen heeft en neem de juiste actie als er een wordt gevonden. Stuur bijvoorbeeld een waarschuwing naar de klanten om hen te 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 willekeurige Word - indeling en gebruik Microsoft Word om een digitale handtekening aan macro ' s toe te voegen.

Digitale handtekeningen detecteren, tellen en verifiëren

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

Een document kan meer dan één keer worden ondertekend, en dit kan door verschillende gebruikers worden gedaan. Als u de geldigheid van digitale handtekeningen wilt controleren, moet u ze uit het document laden met de methode LoadSignatures en de Eigenschap IsValid gebruiken. Met Aspose.Words kunt u ook een set van alle digitale handtekeningen in een document tellen met behulp van de eigenschap Count.

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

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

Een digitale handtekening {#create-a-digital-signature}maken

Als u een digitale handtekening wilt maken, moet u een ondertekeningscertificaat laden dat de identiteit bevestigt. Wanneer u een digitaal ondertekend document verzendt, verzendt u ook uw certificaat en openbare sleutel.

Met Aspose.Words kunt u een X. 509-certificaat maken, een digitaal certificaat dat de internationaal aanvaarde X. 509 PKI - standaard gebruikt om te controleren of een openbare sleutel toebehoort aan de ondertekenaar die in het certificaat is opgenomen. Gebruik hiervoor de Create methode binnen de CertificateHolder klasse.

In de volgende secties wordt uitgelegd hoe u een digitale handtekening, een handtekeningregel toevoegt en hoe u een gegenereerd PDF - document ondertekent.

Een Document ondertekenen

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

Het volgende codevoorbeeld laat zien hoe u documenten kunt ondertekenen met een certificaathouder en opties kunt ondertekenen:

Een handtekeningregel toevoegen

Een handtekeningregel is een visuele weergave van een digitale handtekening in een document. Met Aspose.Words kunt u een handtekeningregel invoegen met de methode DocumentBuilder.InsertSignatureLine. U kunt ook de parameters voor deze weergave instellen met behulp van de klasse SignatureLineOptions.

De onderstaande afbeelding toont bijvoorbeeld hoe geldige en ongeldige handtekeningen kunnen worden weergegeven.

valid-signature invalid-signature

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

Het volgende codevoorbeeld laat zien hoe u een document ondertekent met een persoonlijk certificaat en een specifieke handtekeningregel:

Teken een gegenereerd PDF Document

Met Aspose.Words kunt u alle details van een PDF document ondertekenen en ophalen met behulp van de PdfDigitalSignatureDetails eigenschappen.

Het volgende codevoorbeeld laat zien hoe u een gegenereerde PDFondertekent:

De waarde van de digitale handtekening ophalen

Aspose.Words biedt ook de mogelijkheid om de waarde van de digitale handtekening uit een digitaal ondertekend document op te halen als een byte array met behulp van de eigenschap SignatureValue.

Het volgende codevoorbeeld laat zien hoe u de waarde van de digitale handtekening als een byte-array uit een document kunt verkrijgen:

Digitale Handtekeningen Verwijderen

Met Aspose.Words kunt u alle digitale handtekeningen uit een ondertekend document verwijderen met de methode RemoveAllSignatures.

Het volgende codevoorbeeld laat zien hoe u digitale handtekeningen uit een document kunt laden en verwijderen: