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 για τον επιλεγμένο υπογράφοντα |
|---|---|
| CoverageStatus | scInvalid, 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 για ρητή επιλογή