TPDFlibSignatureVerifier
Sécurité et signatures
Description
Énumère les champs de signature PDF et les signataires CMS, valide une signature sélectionnée sans charger l'intégralité du PDF en mémoire, et signale la couverture exacte de la révision signée séparément de l'intégrité cryptographique
Le vérificateur accepte un fichier, un flux détenu par l'appelant ou une chaîne d'octets ANSI via OpenPDF, OpenPDFStream ou OpenPDFString
Sélection
Count := Verifier.GetSignatureCount;
Verifier.GetSignatureFieldName(0, FieldName);
SignerCount := Verifier.GetSignerCount(0);
Result := Verifier.VerifySignatureByName(FieldName, 0, Report);VerifySignatureByIndex sélectionne le champ PDF par index de base zéro, tandis que VerifySignatureByName utilise le nom pleinement qualifié du champ AcroForm, et les deux méthodes acceptent un index de signataire CMS de base zéro
Rapport de vérification
| IntegrityResult | Résultat d'intégrité cryptographique CMS ou PKCS#7 hérité pour le signataire sélectionné |
|---|---|
| CoverageStatus | scInvalid, scSignedRevision ou scWholeDocument |
| ByteRangeValid | Vrai uniquement lorsque toutes les plages sont bornées, l'écart du Contents est exact et la révision signée se termine par son propre %%EOF |
| ContentsGapValid | Vrai uniquement lorsque les octets omis correspondent exactement au jeton /Contents hexadécimal sélectionné |
| HasLaterRevisions | Vrai lorsque la signature sélectionnée est valide pour une révision incrémentale antérieure mais que des octets ultérieurs existent |
| SignedRevisionLength | Longueur en octets de la révision authentifiée par la signature sélectionnée |
| DocumentLength | Longueur actuelle du PDF en octets |
| NativeError | Code d'erreur Windows CryptoAPI en cas d'échec de la validation de l'intégrité |
Méthodes de compatibilité
VerifySignature, GetSignatureMetadata, GetSignerCertificate et VerifySignerCertificateChain restent disponibles et sélectionnent le champ 0 et le signataire 0
Utilisez GetSignatureMetadataByIndex, GetSignatureMetadataByName, GetSignerCertificateByIndex, GetSignerCertificateByName, VerifySignerCertificateChainByIndex ou VerifySignerCertificateChainByName pour une sélection explicite