THPDFSignaturePermissionInfo Record
서명된 PDF에 저장된 구조적 DocMDP, FieldMDP, usage rights policy 사전입니다
선언
THPDFSignaturePermissionInfo= record
TransformMethods: THPDFSignatureTransformMethods;
TransformReferenceCount: Integer;
HasDocMDP: boolean;
DocMDPPermission: THPDFDocMDPPermission;
HasFieldLock: boolean;
HasFieldMDP: boolean;
FieldLockAction: THPDFFieldLockAction;
FieldNames: THPDFAnsiStringArray;
HasUR: boolean;
UsageRights: THPDFUsageRights;
UsageRightsPermissionSource: THPDFUsageRightsPermissionSource;
CatalogUsageRightsMatches: boolean;
UsageRightsRestrictAll: boolean;
UsageRightsMessage: AnsiString;
HasIdentity: boolean;
IdentityObjectNumbers: THPDFIntegerArray;
UnknownTransformMethods: THPDFAnsiStringArray;
CatalogPermissionMatches: boolean;
StructurallyValid: boolean;
Issue: AnsiString;
end;
유닛
HPDFDoc
필드
| 필드 | 목적 |
|---|---|
TransformMethods | signature 사전에서 발견한, 인식된 /TransformMethod 값의 집합 |
TransformReferenceCount | 검사한 transform parameter 참조 수 |
HasDocMDP | permission 사전을 동반한 DocMDP transform이 있으면 True |
DocMDPPermission | 서명하는 signature가 선언한 DocMDP permission 레벨(1~3) |
HasFieldLock | FieldLock transform parameter 사전이 있으면 True |
HasFieldMDP | 어떤 서명에든 FieldMDP transform이 있으면 True |
FieldLockAction | 필드 lock 사전의 lock action(All / Include / Exclude) |
FieldNames | lock 또는 FieldMDP policy가 나열한 필드 이름 |
HasUR | usage rights 서명이 있으면 True |
UsageRights | UR 서명이 켠 사용 권한의 집합 |
UsageRightsPermissionSource | 유효 권한을 공급하는 UR 서명이 속한 리비전 |
CatalogUsageRightsMatches | Catalog의 /Perms 항목이 UR 서명과 일치하면 True |
UsageRightsRestrictAll | UR policy가 문서화된 모든 기능을 제한하면 True |
UsageRightsMessage | usage rights 평가에 대한 상세 텍스트 |
HasIdentity | Identity transform(document timestamp 방식)이 있으면 True |
IdentityObjectNumbers | Identity transform을 실은 서명들의 객체 번호 |
UnknownTransformMethods | 인식된 집합 밖의 transform method 이름. 변조 단서가 됩니다 |
CatalogPermissionMatches | Catalog permission 비트가 DocMDP policy와 일치하면 True |
StructurallyValid | 모든 policy 사전이 구조적 문제 없이 파싱됐으면 True |
Issue | 발견된 첫 구조적 문제. StructurallyValid가 True면 비어 있음 |
사용 참고 사항
GetLoadedSignaturePermissions로 채웁니다. 레코드는 파일에 저장된 policy를 기술할 뿐, 이후 리비전이 그 policy를 지켰는지는 답하지 않습니다- 암호학적 유효성은 여전히
VerifyLoadedSignature의 몫입니다. 문서를 신뢰할지 판단하기 전에 두 관점을 함께 보세요 - 이 레코드를
AnalyzeLoadedSignatureRevisions에 넘기면, 각 리비전 분석의Permissions필드로 들어갑니다