TPDFlibSignatureVerifier
Securitate și semnături
Descriere
Enumără câmpurile de semnătură PDF și semnaturile CMS, validează o semnătură selectată fără a încărca întregul PDF în memorie și raportează acoperirea exactă a reviziei semnate separat de integritatea criptografică
Verificatorul acceptă un fișier, un flux deținut de apelant sau un șir de octeți ANSI prin OpenPDF, OpenPDFStream sau OpenPDFString
Selecție
Count := Verifier.GetSignatureCount;
Verifier.GetSignatureFieldName(0, FieldName);
SignerCount := Verifier.GetSignerCount(0);
Result := Verifier.VerifySignatureByName(FieldName, 0, Report);VerifySignatureByIndex selectează câmpul PDF după index pe bază de zero, în timp ce VerifySignatureByName folosește numele complet calificat al câmpului AcroForm, iar ambele metode acceptă un index de semnatar CMS pe bază de zero
Raport de verificare
| IntegrityResult | Rezultatul de integritate criptografică CMS sau PKCS#7 moștenit pentru semnatarul selectat |
|---|---|
| CoverageStatus | scInvalid, scSignedRevision sau scWholeDocument |
| ByteRangeValid | Adevărat doar atunci când toate intervalele sunt mărginite, golul Contents este exact, iar revizia semnată se încheie la propriul %%EOF |
| ContentsGapValid | Adevărat doar atunci când octeții omiși sunt exact jetonul hexazecimal /Contents selectat |
| HasLaterRevisions | Adevărat atunci când semnătura selectată este validă pentru o revizie incrementală anterioară, dar există octeți ulteriori |
| SignedRevisionLength | Lungimea în octeți a reviziei autentificate de semnătura selectată |
| DocumentLength | Lungimea actuală în octeți a PDF-ului |
| NativeError | Cod de eroare Windows CryptoAPI atunci când validarea integrității eșuează |
Metode de compatibilitate
VerifySignature, GetSignatureMetadata, GetSignerCertificate și VerifySignerCertificateChain rămân disponibile și selectează câmpul 0 și semnatarul 0
Folosiți GetSignatureMetadataByIndex, GetSignatureMetadataByName, GetSignerCertificateByIndex, GetSignerCertificateByName, VerifySignerCertificateChainByIndex sau VerifySignerCertificateChainByName pentru selecție explicită