Запись THPDFSignaturePermissionInfo
Структурные словари политик DocMDP, FieldMDP и usage rights, хранящиеся в подписанном PDF
Объявление
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 | Набор распознанных значений /TransformMethod, найденных в словарях подписей |
TransformReferenceCount | Число просмотренных ссылок на параметры transform |
HasDocMDP | True, если существует transform DocMDP со словарём разрешений |
DocMDPPermission | Уровень разрешений DocMDP, объявленный подписывающей подписью (от 1 до 3) |
HasFieldLock | True, если присутствует словарь параметров transform FieldLock |
HasFieldMDP | True, если transform FieldMDP присутствует хотя бы на одной подписи |
FieldLockAction | Действие блокировки (All / Include / Exclude) в словаре блокировки полей |
FieldNames | Имена полей, перечисленные политикой блокировки или FieldMDP |
HasUR | True, если существует подпись usage rights |
UsageRights | Набор прав использования, включённых UR-подписью |
UsageRightsPermissionSource | UR-подпись какой ревизии даёт действующие права |
CatalogUsageRightsMatches | True, если запись /Perms в Catalog согласуется с UR-подписью |
UsageRightsRestrictAll | True, если UR-политика ограничивает каждую документированную возможность |
UsageRightsMessage | Подробный текст об оценке usage rights |
HasIdentity | True, если присутствует transform Identity (в стиле document timestamp) |
IdentityObjectNumbers | Номера объектов подписей, несущих transform Identity |
UnknownTransformMethods | Имена transform-методов вне распознанного набора — признак возможной подмены |
CatalogPermissionMatches | True, если биты разрешений Catalog согласуются с политикой DocMDP |
StructurallyValid | True, если каждый словарь политик разобран без структурных проблем |
Issue | Первая найденная структурная проблема; пусто, когда StructurallyValid истинно |
Примечания по использованию
- Заполняйте методом
GetLoadedSignaturePermissions; запись описывает политики, хранящиеся в файле, а не то, соблюдали ли их последующие ревизии - Криптографическая валидность остаётся задачей
VerifyLoadedSignature; прежде чем считать документ заслуживающим доверия, сопоставьте оба взгляда - Подайте эту запись в
AnalyzeLoadedSignatureRevisions: она встраивается как полеPermissionsв каждый анализ ревизий