THPDFSignatureRevisionAnalysis Record
PDF 서명 뒤를 따르는 모든 증분 리비전을 policy 관점에서 분류합니다
선언
THPDFSignatureRevisionAnalysis= record
SignedRevisionLength: Int64;
TotalRevisionCount: Integer;
SignedRevisionIndex: Integer;
ModificationLevel: THPDFRevisionModificationLevel;
ChangeKinds: THPDFRevisionChangeKinds;
ChangedObjectCount: Integer;
FreedObjectCount: Integer;
ChangedFieldNames: THPDFAnsiStringArray;
Permissions: THPDFSignaturePermissionInfo;
DocMDPCompliant: boolean;
FieldMDPCompliant: boolean;
URCompliant: boolean;
IdentityCompliant: boolean;
TransformCompliant: boolean;
PolicyCompliant: boolean;
Revisions: THPDFSignatureRevisionChangeArray;
Issue: AnsiString;
end;
유닛
HPDFDoc
필드
| 필드 | 목적 |
|---|---|
SignedRevisionLength | 서명이 적용된 시점 파일의 바이트 길이 |
TotalRevisionCount | 파일에 존재하는 증분 리비전 수 |
SignedRevisionIndex | 서명이 덮는 리비전의 0 기반 인덱스 |
ModificationLevel | 서명 이후 도달한 최고 의미론적 심각도. rmlNone부터 rmlOther까지 |
ChangeKinds | 이후 리비전에서 관측된 구체적 변경 종류의 집합 |
ChangedObjectCount | 이후 리비전이 재정의한 객체 수 |
FreedObjectCount | 이후 리비전이 해제한 객체 수 |
ChangedFieldNames | 이후 리비전이 값을 건드린 폼 필드 |
Permissions | 서명된 문서에 대한 구조적 DocMDP / FieldMDP / UR policy 검사 |
DocMDPCompliant | 관측된 변경이 서명된 DocMDP permission 레벨에 부합하면 True |
FieldMDPCompliant | 필드 변경이 서명된 FieldMDP policy를 존중하면 True |
URCompliant | 사용 권한 제한이 위반되지 않았으면 True |
IdentityCompliant | Identity transform 기대(타임스탬프 등)가 유지되면 True |
TransformCompliant | 이후 리비전에 인식되지 않은 transform method가 없으면 True |
PolicyCompliant | 모든 compliance 검사를 종합한 판정 |
Revisions | 이후 리비전마다 하나의 THPDFSignatureRevisionChange 항목. 객체 목록과 문제 텍스트를 각자 가짐 |
Issue | 분석이 실패한 이유. 성공하면 비어 있음 |
사용 참고 사항
AnalyzeLoadedSignatureRevisions로 채웁니다. 문서가 디스크에 소스 파일이 없으면 stream 오버로드를 써야 합니다- modification level 순서에는 의도가 담겨 있습니다. 더 큰 서수는 결코 덜 엄격하지 않으므로, 서명된 policy와 서수를 비교하세요
- 암호학적 유효성은 여전히
VerifyLoadedSignature의 책임입니다. 이 레코드는 무엇이 바뀌었는지 분류할 뿐, 바이트가 검증되는지는 답하지 않습니다