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

IntegrityResultKryptografisches CMS- oder veraltetes PKCS#7-Integritätsergebnis für den ausgewählten Signierer
CoverageStatusscInvalid, scSignedRevision oder scWholeDocument
ByteRangeValidNur wahr, wenn alle Bereiche begrenzt sind, die Contents-Lücke exakt ist und die signierte Revision an ihrem eigenen %%EOF endet
ContentsGapValidNur wahr, wenn die ausgelassenen Bytes exakt das ausgewählte hexadezimale /Contents-Token sind
HasLaterRevisionsWahr, wenn die ausgewählte Signatur für eine frühere inkrementelle Revision gültig ist, jedoch spätere Bytes vorhanden sind
SignedRevisionLengthBytelänge der Revision, die durch die ausgewählte Signatur authentifiziert wird
DocumentLengthAktuelle PDF-Bytelänge
NativeErrorWindows-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