THPDFPDFMACValidationInfo Record

Full result of a PDF MAC validation: status and message, byte-range and MAC lengths, digest and policy details, AES-GCM usage, MAC location, signature linkage, and permission-coverage flags

Declaration

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;

Unit

HPDFDoc

Fields

FieldPurpose
StatusTHPDFPDFMACStatus verdict, pmsValid when the MAC checked out and specific failure states otherwise
ByteRangeLengthNumber of file bytes covered by the MAC's /ByteRange
MACLengthLength of the encoded MAC value
DigestAlgorithmDigest algorithm the checked MAC was built with
PolicyProfileTHPDFPDFMACPolicyProfile under which the MAC was evaluated
PolicyAcceptedtrue when the supplied options' digest and AES-GCM policy accepted the MAC
UsedAESGCMtrue when the MAC payload was AES-GCM protected
MessageHuman-readable outcome text, for example that the MAC is valid, or the reason it is not
LocationTHPDFPDFMACLocation: standalone MAC or one attached to a signature
SignatureObjectNumber / SignatureGenerationObject reference of the signature the MAC attaches to, meaningful when Location reports an attached MAC
SignatureDigestMatchedtrue when an attached MAC's digest matched its signature's byte digest
FullFileCoveragetrue when the byte range spans the entire file
PermissionsAuthenticatedtrue when the document's permission bits were covered by the MAC
MACRequiredByPermissionstrue when the document's permissions demand a MAC, so a missing one is itself a validation failure

Usage notes

Related APIs