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 для обраного підписувача |
|---|---|
| CoverageStatus | scInvalid, scSignedRevision або scWholeDocument |
| ByteRangeValid | True лише тоді, коли всі діапазони обмежені, прогалина Contents точна і підписана редакція завершується власним %%EOF |
| ContentsGapValid | True лише тоді, коли пропущені байти точно збігаються з обраним шістнадцятковим токеном /Contents |
| HasLaterRevisions | True, коли обраний підпис дійсний для попередньої інкрементної редакції, але існують пізніші байти |
| SignedRevisionLength | Байтова довжина редакції, автентифікованої обраним підписом |
| DocumentLength | Поточна байтова довжина PDF |
| NativeError | Код помилки Windows CryptoAPI, коли перевірка цілісності зазнає невдачі |
Методи сумісності
VerifySignature, GetSignatureMetadata, GetSignerCertificate та VerifySignerCertificateChain залишаються доступними й обирають поле 0 та підписувача 0
Використовуйте GetSignatureMetadataByIndex, GetSignatureMetadataByName, GetSignerCertificateByIndex, GetSignerCertificateByName, VerifySignerCertificateChainByIndex або VerifySignerCertificateChainByName для явного вибору