TPDFlibSignatureVerifier
Sicherheit und Signaturen
Beschreibung
Zählt PDF-Signaturfelder und CMS-Signierer auf, validiert eine ausgewählte Signatur, ohne das vollständige PDF in den Speicher zu laden, und meldet die genaue Abdeckung der signierten Revision getrennt von der kryptografischen Integrität
Der Verifizierer akzeptiert eine Datei, einen aufrufereigenen Strom oder eine ANSI-Byte-Zeichenfolge über OpenPDF, OpenPDFStream oder OpenPDFString
Auswahl
Count := Verifier.GetSignatureCount;
Verifier.GetSignatureFieldName(0, FieldName);
SignerCount := Verifier.GetSignerCount(0);
Result := Verifier.VerifySignatureByName(FieldName, 0, Report);VerifySignatureByIndex wählt das PDF-Feld über einen nullbasierten Index aus, während VerifySignatureByName den vollqualifizierten AcroForm-Feldnamen verwendet; beide Methoden akzeptieren einen nullbasierten CMS-Signiererindex
Verifizierungsbericht
| IntegrityResult | Kryptografisches CMS- oder veraltetes PKCS#7-Integritätsergebnis für den ausgewählten Signierer |
|---|---|
| CoverageStatus | scInvalid, scSignedRevision oder scWholeDocument |
| ByteRangeValid | Nur wahr, wenn alle Bereiche begrenzt sind, die Contents-Lücke exakt ist und die signierte Revision an ihrem eigenen %%EOF endet |
| ContentsGapValid | Nur wahr, wenn die ausgelassenen Bytes exakt das ausgewählte hexadezimale /Contents-Token sind |
| HasLaterRevisions | Wahr, wenn die ausgewählte Signatur für eine frühere inkrementelle Revision gültig ist, jedoch spätere Bytes vorhanden sind |
| SignedRevisionLength | Bytelänge der Revision, die durch die ausgewählte Signatur authentifiziert wird |
| DocumentLength | Aktuelle PDF-Bytelänge |
| NativeError | Windows-CryptoAPI-Fehlercode, wenn die Integritätsprüfung fehlschlägt |
Kompatibilitätsmethoden
VerifySignature, GetSignatureMetadata, GetSignerCertificate und VerifySignerCertificateChain bleiben verfügbar und wählen Feld 0 sowie Signierer 0 aus
Verwenden Sie GetSignatureMetadataByIndex, GetSignatureMetadataByName, GetSignerCertificateByIndex, GetSignerCertificateByName, VerifySignerCertificateChainByIndex oder VerifySignerCertificateChainByName für eine explizite Auswahl