Záznam THPDFPDFMACValidationInfo
Úplný výsledek validace PDF MACu: stav a zpráva, délky bajtového rozsahu a MACu, detaily digestu a politiky, použití AES-GCM, umístění MACu, provázání s podpisem a příznaky pokrytí oprávnění
Deklarace
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;
Jednotka
HPDFDoc
Pole
| Pole | Účel |
|---|---|
Status | Verdikt THPDFPDFMACStatus: pmsValid, když MAC projde, jinak konkrétní stav selhání |
ByteRangeLength | Počet bajtů souboru pokrytých /ByteRange MACu |
MACLength | Délka zakódované hodnoty MACu |
DigestAlgorithm | Digest algoritmus, jímž byl kontrolovaný MAC postaven |
PolicyProfile | THPDFPDFMACPolicyProfile, podle nějž se MAC hodnotil |
PolicyAccepted | true, když digest a politika AES-GCM zadaných voleb MAC přijaly |
UsedAESGCM | true, když byl payload MACu chráněn AES-GCM |
Message | Lidsky čitelný text výsledku, například že je MAC platný, nebo důvod, proč není |
Location | THPDFPDFMACLocation: samostatný MAC nebo MAC připojený k podpisu |
SignatureObjectNumber / SignatureGeneration | Reference na objekt podpisu, k němuž se MAC připojuje; smysluplné, když Location hlásí připojený MAC |
SignatureDigestMatched | true, když digest připojeného MACu seděl na bajtový digest jeho podpisu |
FullFileCoverage | true, když bajtový rozsah pokrývá celý soubor |
PermissionsAuthenticated | true, když bity oprávnění dokumentu pokryl MAC |
MACRequiredByPermissions | true, když oprávnění dokumentu MAC vyžadují, takže jeho absence je sama o sobě validačním selháním |
Poznámky k použití
- Vyplňuje ho
THotPDF.ValidatePDFMACa validátor po jednotlivých revizích; záznam se před použitím resetuje, takže ho prohlížejte i tehdy, když funkce vrátífalse - Nejdřív zkontrolujte
Statusa pakPolicyAccepted, abyste odlišili kryptograficky dobrý MAC, který propadne vašemu profilu, od poškozeného - U připojených MACů čtěte
SignatureObjectNumberspolu sSignatureDigestMatcheda potvrďte tak, že MAC pokrývá tytéž bajty, které podepsal podpis