Digitale handtekeningen

Digitale handtekeningen

Aspose.Words FOSS voor .NET kan digitale handtekeningen die al aan een .docx document via de Aspose.Words.DigitalSignatures namespace. Deze editie behandelt handtekening verification — het lezen van handtekeningmetadata, het controleren van de geldigheid, en het onderzoeken van het ondertekeningscertificaat. Het bevat niet de mogelijkheid om nieuwe handtekeningen op een document te maken.


Handtekeningen lezen uit een document

Elke Document exposeert een DigitalSignatures eigenschap die een DigitalSignatureCollection retourneert — een alleen-lezen, enumerateerbare collectie van DigitalSignature objecten die al in het geladen bestand aanwezig zijn. DigitalSignatureUtil.LoadSignatures(fileName) (en de LoadSignatures(stream) overload) leest handtekeningen direct uit een bestand of stream zonder het volledige document te laden in een Document object, wat handig is wanneer je alleen de handtekeningsstatus wilt controleren. De IsValid eigenschap van de collectie geeft aan of elke handtekening die het bevat geldig is, en Count geeft aan hoeveel handtekeningen er zijn gevonden.


Een individuele handtekening inspecteren

Elke DigitalSignature exposeert IsValid (of de handtekening cryptografisch geldig is), SignatureType (een DigitalSignatureType waarde — CryptoApi, XmlDsig of Unknown), SignTime, Comments, SubjectName, IssuerName, en de ruwe SignatureValue bytes. De CertificateHolder eigenschap retourneert een CertificateHolder object dat het ondertekeningscertificaat omsluit; de Certificate eigenschap daarvan exposeert de onderliggende X509Certificate2 zodat je standaard certificaatvelden (issuer, subject, validity period) kunt inspecteren met de eigen certificaat-API’s van .NET.


Wat niet wordt ondersteund in deze editie

De API surface declareert nog steeds ondertekeningsgerelateerde leden — DigitalSignatureUtil.Sign(), SignOptions, en XmlDsigLevel — voor structurele compatibiliteit met het commerciële Aspose.Words voor .NET objectmodel, maar het creëren van een nieuwe digitale handtekening op een document is niet functioneel in deze FOSS-editie. Gebruik deze editie om verify handtekeningen die al in een document bestaan; een ondertekeningsworkflow vereist Aspose.Words voor .NET.


Tips en best practices

  • Geef de voorkeur aan DigitalSignatureUtil.LoadSignatures() boven het openen van de volledige Document wanneer je alleen hoeft te controleren of een bestand is ondertekend — het vermijdt de kosten van het parseren van de volledige documentinhoud.
  • Controleer eerst DigitalSignatureCollection.IsValid voor een snelle pass/fail voordat je individuele DigitalSignature.IsValid waarden doorloopt.
  • SignatureType vertelt je welk ondertekeningsmechanisme de handtekening heeft geproduceerd (CryptoApi vs. XmlDsig); dit beïnvloedt welke certificaatvelden betekenisvol zijn.
  • Beschouw IsValid == false als een harde foutconditie in elke geautomatiseerde document-intake-pipeline — presenteer handtekeningmetadata van een ongeldige handtekening niet als betrouwbaar.

Veelvoorkomende problemen

ProbleemOorzaakOplossing
DigitalSignatures.Count is 0 op een ondertekend .docxBestand is opnieuw opgeslagen door een tool die het handtekeningdeel heeft verwijderdControleer tegen het originele ondertekende bestand, niet tegen een opnieuw opgeslagen kopie
Handtekening meldt IsValid = falseDocumentinhoud gewijzigd na ondertekening, of het certificaat is niet vertrouwd/verlopenBehandel als ongeldig; probeer de handtekening niet te “repareren”
Pogingen om een document te ondertekenen hebben geen effectOndertekenen is niet geïmplementeerd in deze FOSS-editieGebruik Aspose.Words voor .NET (commercieel) voor ondertekeningsworkflows
CertificateHolder.Certificate gooit een uitzondering bij inspectieOnderliggende certificaatgegevens zijn misvormd of het handtekeninggedeelte is corruptBevestig dat het bronbestand een echt, onveranderd ondertekend document is

FAQ

Kan Aspose.Words FOSS voor .NET een document ondertekenen?

Nee. Deze editie kan bestaande digitale handtekeningen verifiëren, maar kan geen nieuwe maken. De DigitalSignatureUtil.Sign() methode en SignOptions klasse bestaan in het API oppervlak voor structurele compatibiliteit, maar ondertekenen is hier niet functioneel.

Hoe controleer ik of een document ondertekend is zonder het volledig te laden?

Roep DigitalSignatureUtil.LoadSignatures(fileName) aan, die een DigitalSignatureCollection direct uit het bestand retourneert.

Wat betekent DigitalSignatureCollection.IsValid?

Het is true alleen wanneer elke handtekening in de collectie individueel geldig is — een snelle manier om de algehele handtekeningintegriteit van het document te controleren voordat elke DigitalSignature wordt geïnspecteerd.

Waar haal ik de certificaatdetails voor een handtekening?

Via DigitalSignature.CertificateHolder.Certificate, die een standaard .NET X509Certificate2 retourneert.


API Reference Samenvatting

Klasse / MethodeBeschrijving
Document.DigitalSignaturesHandtekeningen die al aan een geladen document zijn gekoppeld
DigitalSignatureUtil.LoadSignatures()Lees handtekeningen uit een bestand of stream zonder het volledige document te laden
DigitalSignatureCollectionAlleen-lezen collectie van DigitalSignature objecten; IsValid, Count
DigitalSignatureEen enkele handtekening: IsValid, SignTime, SubjectName, IssuerName, CertificateHolder
DigitalSignatureTypeEnum: CryptoApi, XmlDsig, Unknown
CertificateHolderOmhult de ondertekening X509Certificate2

Zie ook

 Nederlands