TPDFlibSignatureVerifier

Bezpieczeństwo i podpisy

Opis

Wylicza pola podpisów PDF i sygnatariuszy CMS, weryfikuje wybrany podpis bez wczytywania całego pliku PDF do pamięci i raportuje dokładny zakres podpisanej rewizji oddzielnie od integralności kryptograficznej

Weryfikator akceptuje plik, strumień należący do wywołującego lub ciąg bajtów ANSI za pośrednictwem OpenPDF, OpenPDFStream lub OpenPDFString

Wybór

Count := Verifier.GetSignatureCount;
Verifier.GetSignatureFieldName(0, FieldName);
SignerCount := Verifier.GetSignerCount(0);
Result := Verifier.VerifySignatureByName(FieldName, 0, Report);

VerifySignatureByIndex wybiera pole PDF według indeksu liczonego od zera, natomiast VerifySignatureByName używa w pełni kwalifikowanej nazwy pola AcroForm — obie metody przyjmują indeks sygnatariusza CMS liczony od zera

Raport weryfikacji

IntegrityResultWynik integralności kryptograficznej CMS lub starszej PKCS#7 dla wybranego sygnatariusza
CoverageStatusscInvalid, scSignedRevision lub scWholeDocument
ByteRangeValidPrawda tylko wtedy, gdy wszystkie zakresy mają ograniczenia, luka Contents jest dokładna, a podpisana rewizja kończy się własnym znacznikiem %%EOF
ContentsGapValidPrawda tylko wtedy, gdy pominięte bajty stanowią dokładnie wybrany token szesnastkowy /Contents
HasLaterRevisionsPrawda, gdy wybrany podpis jest ważny dla wcześniejszej rewizji przyrostowej, ale istnieją późniejsze bajty
SignedRevisionLengthDługość w bajtach rewizji uwierzytelnionej przez wybrany podpis
DocumentLengthBieżąca długość pliku PDF w bajtach
NativeErrorKod błędu Windows CryptoAPI w przypadku niepowodzenia weryfikacji integralności

Metody zgodności

VerifySignature, GetSignatureMetadata, GetSignerCertificate i VerifySignerCertificateChain pozostają dostępne i wybierają pole 0 oraz sygnatariusza 0

W celu jawnego wyboru należy użyć GetSignatureMetadataByIndex, GetSignatureMetadataByName, GetSignerCertificateByIndex, GetSignerCertificateByName, VerifySignerCertificateChainByIndex lub VerifySignerCertificateChainByName