Запись THPDFPDFMACValidationInfo

Полный результат валидации PDF MAC: статус и сообщение, длины byte-range и MAC, детали digest и политики, использование AES-GCM, расположение MAC, привязка к подписи и флаги покрытия разрешений

Объявление

THPDFPDFMACValidationInfo= record
  Status: THPDFPDFMACStatus;
  ByteRangeLength: Int64;
  MACLength: Integer;
  DigestAlgorithm: THPDFPDFMACDigestAlgorithm;
  PolicyProfile: THPDFPDFMACPolicyProfile;
  PolicyAccepted: boolean;
  UsedAESGCM: boolean;
  Message: string;
  Location: THPDFPDFMACLocation;
  SignatureObjectNumber: Integer;
  SignatureGeneration: Integer;
  SignatureDigestMatched: boolean;
  FullFileCoverage: boolean;
  PermissionsAuthenticated: boolean;
  MACRequiredByPermissions: boolean;
end;

Модуль

HPDFDoc

Поля

ПолеНазначение
StatusВердикт THPDFPDFMACStatus: pmsValid, когда MAC сошёлся, и конкретные состояния сбоя в остальных случаях
ByteRangeLengthЧисло байтов файла, покрытых /ByteRange этого MAC
MACLengthДлина закодированного значения MAC
DigestAlgorithmАлгоритм digest, которым был построен проверенный MAC
PolicyProfileTHPDFPDFMACPolicyProfile, в рамках которого оценивался MAC
PolicyAcceptedtrue, когда digest-политика и политика AES-GCM переданных опций приняли MAC
UsedAESGCMtrue, когда полезная нагрузка MAC была защищена AES-GCM
MessageПонятный человеку текст исхода: например, что MAC валиден, или причина, почему нет
LocationTHPDFPDFMACLocation: отдельный MAC или присоединённый к подписи
SignatureObjectNumber / SignatureGenerationОбъектная ссылка на подпись, к которой присоединён MAC; осмысленно, когда Location сообщает о присоединённом MAC
SignatureDigestMatchedtrue, когда digest присоединённого MAC совпал с байтовым digest его подписи
FullFileCoveragetrue, когда диапазон байтов покрывает весь файл
PermissionsAuthenticatedtrue, когда биты разрешений документа были покрыты MAC
MACRequiredByPermissionstrue, когда разрешения документа требуют MAC, так что его отсутствие само по себе провал валидации

Примечания по использованию

Связанные API