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 verificaciones exitosas, con proveniencia de cláusula de estándares y de evidencia PDF

Targets soportados

Los targets baseline son palBaseline_B_B, palBaseline_B_T, palBaseline_B_LT y palBaseline_B_LTA; los targets 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 target

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 de la función significa que la evaluación se completó; use THPDFPAdESPreflightReport.Compliant para probar 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 verificaciones baseline y extended inspeccionan el diccionario de firma, la cobertura completa de /ByteRange, la validez de la firma CMS, la cardinalidad de atributos firmados, el content type, el message digest, las restricciones de signing-time, /M, /Filter, /SubFilter, /Reason y las entradas /Cert prohibidas

Las verificaciones ESS signing-certificate y signing-certificate-v2 hacen hashing del certificado real del firmante y exigen una referencia ESSCertID coincidente, en lugar de aceptar un atributo solo por nombre

Los niveles superiores adicionalmente inspeccionan timestamps válidos de firma o de documento, los arreglos 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 reporta su Profile de introducción, el Level normativo, el RuleID estable, la Clause, el Path del PDF, ObjectNumber, RevisionIndex, el status Passed y el Message de diagnóstico

FailedRequirementCount cuenta las reglas de nivel shall fallidas, mientras que WarningCount cuenta la guía de nivel should fallida. HighestConformingProfile identifica el perfil acumulativo más alto que pasó y solo tiene sentido cuando HasConformingProfile es true

Consulte la validación de política de firma PAdES, la validación de firmas en lote y la adquisición de evidencia de firmas