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 무결성 결과 |
|---|---|
| CoverageStatus | scInvalid, 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을 사용하십시오