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 за изричен избор