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 для явного выбора