TPDFlibSignatureVerifier

Ασφάλεια και υπογραφές

Περιγραφή

Απαριθμεί τα πεδία υπογραφής PDF και τους υπογράφοντες CMS, επικυρώνει μια επιλεγμένη υπογραφή χωρίς να φορτώσει ολόκληρο το PDF στη μνήμη, και αναφέρει την ακριβή κάλυψη της υπογεγραμμένης αναθεώρησης ξεχωριστά από την κρυπτογραφική ακεραιότητα

Ο επιβεβαιωτής δέχεται αρχείο, ροή σε ιδιοκτησία του καλούντα ή συμβολοσειρά ANSI bytes μέσω των OpenPDF, OpenPDFStream ή OpenPDFString

Επιλογή

Count := Verifier.GetSignatureCount;
Verifier.GetSignatureFieldName(0, FieldName);
SignerCount := Verifier.GetSignerCount(0);
Result := Verifier.VerifySignatureByName(FieldName, 0, Report);

Το VerifySignatureByIndex επιλέγει το πεδίο PDF με δείκτη με αρχή το μηδέν, ενώ το VerifySignatureByName χρησιμοποιεί το πλήρως προσδιορισμένο όνομα πεδίου AcroForm και οι δύο μέθοδοι δέχονται έναν δείκτη υπογράφοντα CMS με αρχή το μηδέν

Αναφορά επικύρωσης

IntegrityResultΚρυπτογραφικό αποτέλεσμα ακεραιότητας CMS ή παλαιού τύπου PKCS#7 για τον επιλεγμένο υπογράφοντα
CoverageStatusscInvalid, scSignedRevision ή scWholeDocument
ByteRangeValidΑληθές μόνο όταν όλα τα εύρη είναι οριοθετημένα, το κενό Contents είναι ακριβές και η υπογεγραμμένη αναθεώρηση τελειώνει στο δικό της %%EOF
ContentsGapValidΑληθές μόνο όταν τα παραλειπόμενα bytes είναι ακριβώς το επιλεγμένο δεκαεξαδικό διακριτικό /Contents
HasLaterRevisionsΑληθές όταν η επιλεγμένη υπογραφή είναι έγκυρη για μια προγενέστερη σταδιακή αναθεώρηση αλλά υπάρχουν μεταγενέστερα bytes
SignedRevisionLengthΜήκος σε bytes της αναθεώρησης που πιστοποιείται από την επιλεγμένη υπογραφή
DocumentLengthΤρέχον μήκος PDF σε bytes
NativeErrorΚωδικός σφάλματος του Windows CryptoAPI όταν η επικύρωση ακεραιότητας αποτυγχάνει

Μέθοδοι συμβατότητας

Τα VerifySignature, GetSignatureMetadata, GetSignerCertificate και VerifySignerCertificateChain παραμένουν διαθέσιμα και επιλέγουν το πεδίο 0 και τον υπογράφοντα 0

Χρησιμοποιήστε τα GetSignatureMetadataByIndex, GetSignatureMetadataByName, GetSignerCertificateByIndex, GetSignerCertificateByName, VerifySignerCertificateChainByIndex ή VerifySignerCertificateChainByName για ρητή επιλογή