Preflight de perfiles PAdES direccionable por cláusula
THotPDF.PreflightLoadedPAdES evalúa una firma cargada contra un perfil PAdES baseline o extended acumulativo y devuelve cada requisito aplicable, incluidas las comprobaciones con éxito, con procedencia de cláusula de estándar y de evidencia PDF
Destinos soportados
Los destinos baseline son palBaseline_B_B, palBaseline_B_T, palBaseline_B_LT y palBaseline_B_LTA; los destinos extended son palExtended_E_BES, palExtended_E_EPES y palExtended_E_LTV
El valor genérico palLegacy_adbePkcs7 no es un perfil PAdES y se rechaza como destino
Contrato de evaluación
La sobrecarga con stream preserva la posición de origen propiedad del llamador, mientras que la sobrecarga con archivo reabre la fuente usada por LoadFromFile. Un resultado True significa que la evaluación terminó; use THPDFPAdESPreflightReport.Compliant para comprobar la conformidad
var
Report: THPDFPAdESPreflightReport;
Requirement: THPDFPAdESPreflightRequirement;
begin
PDF.LoadFromFile('Signed.pdf');
if not PDF.PreflightLoadedPAdES(0, palBaseline_B_LT, Report) then
raise Exception.Create(string(Report.Issue));
for Requirement in Report.Requirements do
WriteLn(string(Requirement.RuleID), ': ',
BoolToStr(Requirement.Passed, True), ' at ',
string(Requirement.Clause), ' object ',
Requirement.ObjectNumber, ' revision ',
Requirement.RevisionIndex);
end;
Evidencia inspeccionada
Las comprobaciones baseline y extended inspeccionan el diccionario de firma, la cobertura completa de /ByteRange, la validez de la firma CMS, la cardinalidad de signed attributes, el content type, el message digest, las restricciones de signing-time, /M, /Filter, /SubFilter, /Reason y las entradas /Cert prohibidas
Las comprobaciones ESS signing-certificate y signing-certificate-v2 calculan el hash del certificado real del firmante y exigen una referencia ESSCertID coincidente, en lugar de aceptar un atributo solo por su nombre
Los niveles superiores inspeccionan además timestamps de firma o de documento válidos, los arrays de certificados y revocación del DSS, la revisión que introdujo el material de validación y si un timestamp de documento posterior cubre esa revisión del DSS
Hallazgos estructurados
Cada THPDFPAdESPreflightRequirement informa de su Profile de introducción, el Level normativo, el RuleID estable, la Clause, el Path PDF, el ObjectNumber, el RevisionIndex, el estado Passed y el Message de diagnóstico
FailedRequirementCount cuenta las reglas shall fallidas, mientras que WarningCount cuenta las guías should fallidas. HighestConformingProfile identifica el perfil acumulativo más alto superado y solo tiene sentido cuando HasConformingProfile es true
Consulte validación de políticas de firma PAdES, validación de firmas en lote y adquisición de evidencia de firma