TPDFlibSignatureVerifier

보안 및 서명

설명

PDF 서명 필드와 CMS 서명자를 열거하고, 전체 PDF를 메모리에 로드하지 않고 선택한 서명의 유효성을 검사하며, 암호화 무결성과는 별도로 정확한 서명 리비전 적용 범위를 보고합니다

검사기는 OpenPDF, OpenPDFStream 또는 OpenPDFString을 통해 파일, 호출자 소유 스트림 또는 ANSI 바이트 문자열을 허용합니다

선택

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

VerifySignatureByIndex는 0부터 시작하는 인덱스로 PDF 필드를 선택하고, VerifySignatureByName은 정규화된 AcroForm 필드 이름을 사용하며, 두 메서드 모두 0부터 시작하는 CMS 서명자 인덱스를 허용합니다

검증 보고서

IntegrityResult선택한 서명자에 대한 암호화 CMS 또는 레거시 PKCS#7 무결성 결과
CoverageStatusscInvalid, scSignedRevision 또는 scWholeDocument
ByteRangeValid모든 범위가 경계가 지정되고, Contents 간격이 정확하며, 서명된 리비전이 자체 %%EOF로 끝나는 경우에만 True
ContentsGapValid생략된 바이트가 선택한 16진수 /Contents 토큰과 정확히 일치하는 경우에만 True
HasLaterRevisions선택한 서명이 이전 증분 리비전에는 유효하지만 이후 바이트가 존재할 때 True
SignedRevisionLength선택한 서명이 인증한 리비전의 바이트 길이
DocumentLength현재 PDF 바이트 길이
NativeError무결성 검증이 실패할 때의 Windows CryptoAPI 오류 코드

호환 메서드

VerifySignature, GetSignatureMetadata, GetSignerCertificate, VerifySignerCertificateChain은 계속 사용할 수 있으며 필드 0과 서명자 0을 선택합니다

명시적으로 선택하려면 GetSignatureMetadataByIndex, GetSignatureMetadataByName, GetSignerCertificateByIndex, GetSignerCertificateByName, VerifySignerCertificateChainByIndex 또는 VerifySignerCertificateChainByName을 사용하십시오