THotPDF.AnalyzeLoadedSignatureRevisions Method
선택된 서명 이후의 모든 증분 revision을 분류하고 집계 변경을 DocMDP, UR/UR3, FieldMDP, Identity transform과 대조 평가합니다
선언
function AnalyzeLoadedSignatureRevisions(
SigIndex: Integer;
Source: TStream;
out Analysis: THPDFSignatureRevisionAnalysis
): boolean; overload;
function AnalyzeLoadedSignatureRevisions(
SigIndex: Integer;
out Analysis: THPDFSignatureRevisionAnalysis
): boolean; overload;
유닛
HPDFDoc
매개변수
| 이름 | 목적 |
|---|---|
SigIndex | 로드된 signature 필드의 0 기반 인덱스 |
Source | 로드된 PDF의 정확한 바이트를 담은 호출자 소유 stream |
Analysis | revision, 객체, 필드, 권한, compliance, 진단 상세를 받습니다 |
Change kinds
THPDFRevisionChangeKinds는 장기 검증 유지보수, 폼 작성, 서명, 주석 생성/삭제/수정, 내장 파일 생성/삭제/수정, 페이지 템플릿 인스턴스화, 미인식 변경을 독립적으로 기록합니다
kind 세트는 단일 순서 변경 수준으로는 표현할 수 없는 operation 상세를 보존하고 UR/UR3 권한 매칭을 이끕니다
반환 값
서명 byte range와 revision 체인이 분석되면 True를 반환하고, 아니면 False를 반환하며 사유를 Analysis.Issue에 보고합니다
Modification levels
THPDFRevisionModificationLevel은 시맨틱 변경을 가장 느슨한 것부터 가장 엄격한 것 순으로 정렬합니다
| 값 | 의미 |
|---|---|
rmlNone | 서명 후 객체 변경 없음 |
rmlLongTermValidation | DSS, VRI, 인증서, 폐기, extension, 문서 timestamp 유지보수 |
rmlFormFillAndSign | 폼 값, 위젯 appearance, 서명 구조 |
rmlAnnotations | 주석 객체 또는 페이지 주석 연결 |
rmlOther | 인식 불가, 읽기 불가, 해제됨, 기타 허용되지 않는 객체 |
결과 상세
THPDFSignatureRevisionAnalysis는 THPDFSignatureRevisionChange 레코드의 THPDFSignatureRevisionChangeArray를 담습니다
SignedRevisionLength,TotalRevisionCount,SignedRevisionIndex는 시간순 revision 체인 안에서 서명 스냅샷을 식별합니다Revisions는 이후 각 xref 오프셋, 시맨틱 수준, 변경 종류 세트, 변경/해제 객체 번호, 변경된 필드 이름, 보수적 분류 이슈를 보고합니다Permissions는 최신 객체 그래프에서 재정의됐을 수 있는 policy가 아니라 정확한 서명 revision에서 재구성한 완전한 transform 정보를 담습니다DocMDPCompliant,FieldMDPCompliant,URCompliant,IdentityCompliant는 독립 판정을 보고하고,TransformCompliant는 모든 transform 메서드를 구조 유효성과 결합합니다PolicyCompliant는 하나의 판정이 필요한 호출자를 위한 최종 fail-closed 결과로 남습니다
사용 참고 사항
- 파일 백업 overload는
LoadFromFile이 쓴 소스 파일을 열고,LoadFromStream뒤에는 stream overload를 씁니다 - 메서드가 반환되기 전에 stream 위치가 복원됩니다
- 전통 xref 테이블, xref stream, hybrid 참조, 증분
/Prev체인, 압축 object-stream 멤버가 지원됩니다 - UR3는 요구되는 byte range로 참여합니다. 폐기된 구형 UR 서명은 서명 revision 경계가 없어 이 메서드는 구식 객체 다이제스트 알고리즘을 시도하는 대신 잘못되었거나 없는
/ByteRange를 보고합니다 - 해제된 주석과 내장 파일은 이전 객체 본문에서 삭제 시맨틱을 유지하고, 미지원/판독 불가 객체는
rmlOther로 남아 policy 검사가 안전하게 실패합니다 - 이 메서드는 revision 시맨틱과 권한을 평가하지만 암호학적 서명 검증을 대체하지 않습니다
- SaveIncrementalUpdateAuthenticated는 이 분석을 서명 인증과 원자적 공개와 결합합니다