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

Usage notes

Related APIs