TPDFlibSignatureVerifier

Безпека та підписи

Опис

Перераховує поля PDF-підпису та підписувачів CMS, перевіряє обраний підпис без завантаження повного PDF у пам'ять і звітує точне покриття підписаної редакції окремо від криптографічної цілісності

Верифікатор приймає файл, потік, що належить викликувачу, або байтовий рядок ANSI через 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 для обраного підписувача
CoverageStatusscInvalid, scSignedRevision або scWholeDocument
ByteRangeValidTrue лише тоді, коли всі діапазони обмежені, прогалина Contents точна і підписана редакція завершується власним %%EOF
ContentsGapValidTrue лише тоді, коли пропущені байти точно збігаються з обраним шістнадцятковим токеном /Contents
HasLaterRevisionsTrue, коли обраний підпис дійсний для попередньої інкрементної редакції, але існують пізніші байти
SignedRevisionLengthБайтова довжина редакції, автентифікованої обраним підписом
DocumentLengthПоточна байтова довжина PDF
NativeErrorКод помилки Windows CryptoAPI, коли перевірка цілісності зазнає невдачі

Методи сумісності

VerifySignature, GetSignatureMetadata, GetSignerCertificate та VerifySignerCertificateChain залишаються доступними й обирають поле 0 та підписувача 0

Використовуйте GetSignatureMetadataByIndex, GetSignatureMetadataByName, GetSignerCertificateByIndex, GetSignerCertificateByName, VerifySignerCertificateChainByIndex або VerifySignerCertificateChainByName для явного вибору