Record THPDFPDFMACValidationInfo
Resultado completo de una validación de PDF MAC: status y mensaje, longitudes del byte range y del MAC, detalles de digest y política, uso de AES-GCM, ubicación del MAC, enlace con la firma y flags de cobertura de permisos
Declaración
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;
Unidad
HPDFDoc
Campos
| Campo | Propósito |
|---|---|
Status | Veredicto THPDFPDFMACStatus, pmsValid cuando el MAC pasó la comprobación y estados de fallo específicos en caso contrario |
ByteRangeLength | Cantidad de bytes del archivo cubiertos por el /ByteRange del MAC |
MACLength | Longitud del valor del MAC codificado |
DigestAlgorithm | Algoritmo de digest con el que se construyó el MAC comprobado |
PolicyProfile | THPDFPDFMACPolicyProfile bajo el cual se evaluó el MAC |
PolicyAccepted | true cuando la política de digest y AES-GCM de las opciones suministradas aceptó el MAC |
UsedAESGCM | true cuando el payload del MAC estuvo protegido con AES-GCM |
Message | Texto de resultado legible, por ejemplo que el MAC es válido, o el motivo por el que no lo es |
Location | THPDFPDFMACLocation: MAC standalone o adjunto a una firma |
SignatureObjectNumber / SignatureGeneration | Referencia de objeto de la firma a la que se adjunta el MAC, con significado cuando Location reporta un MAC adjunto |
SignatureDigestMatched | true cuando el digest de un MAC adjunto coincidió con el digest en bytes de su firma |
FullFileCoverage | true cuando el byte range abarca todo el archivo |
PermissionsAuthenticated | true cuando los bits de permisos del documento estuvieron cubiertos por el MAC |
MACRequiredByPermissions | true cuando los permisos del documento exigen un MAC, de modo que su ausencia es en sí misma un fallo de validación |
Notas de uso
- Lo llenan
THotPDF.ValidatePDFMACy el validador por revisión; el record se reinicia antes de usarse, así que inspéccionelo incluso cuando la función devuelvefalse - Revise primero
Statusy despuésPolicyAcceptedpara distinguir un MAC criptográficamente bueno que falla su perfil de uno roto - Para los MAC adjuntos, lea
SignatureObjectNumberjunto conSignatureDigestMatchedpara confirmar que el MAC cubre los mismos bytes que firmó la firma