Préflight de profils PAdES adressables par clause

THotPDF.PreflightLoadedPAdES évalue une signature chargée par rapport à un profil PAdES de base ou étendu cumulatif unique et renvoie chaque exigence applicable, y compris les vérifications réussies, avec une provenance de clause de norme et de preuve PDF

Cibles prises en charge

Les cibles de base sont palBaseline_B_B, palBaseline_B_T, palBaseline_B_LT et palBaseline_B_LTA ; les cibles étendues sont palExtended_E_BES, palExtended_E_EPES et palExtended_E_LTV

La valeur générique palLegacy_adbePkcs7 n'est pas un profil PAdES et est rejetée comme cible

Contrat d'évaluation

La surcharge de flux préserve la position source appartenant à l'appelant, tandis que la surcharge de fichier rouvre la source utilisée par LoadFromFile. Un résultat de fonction True signifie que l'évaluation est terminée ; utilisez THPDFPAdESPreflightReport.Compliant pour tester la conformité

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;

Preuves inspectées

Les vérifications de base et étendues inspectent le dictionnaire de signature, la couverture complète /ByteRange, la validité de la signature CMS, la cardinalité des attributs signés, le type de contenu, le condensat de message, les contraintes de temps de signature, /M, /Filter, /SubFilter, /Reason et les entrées /Cert interdites

Les vérifications signing-certificate et signing-certificate-v2 de l'ESS hachent le certificat de signataire réel et exigent une référence ESSCertID correspondante au lieu d'accepter un attribut par son seul nom

Les niveaux supérieurs inspectent en plus les horodatages valides de signature ou de document, les tableaux de certificats et de révocations DSS, la révision qui a introduit le matériel de validation, et si un horodatage de document ultérieur couvre cette révision DSS

Constats structurés

Chaque THPDFPAdESPreflightRequirement rapporte son Profile introductif, son Level normatif, son RuleID stable, sa Clause, son Path PDF, son ObjectNumber, son RevisionIndex, son statut Passed et son Message de diagnostic

FailedRequirementCount compte les règles de niveau « shall » échouées, tandis que WarningCount compte les recommandations de niveau « should » non respectées. HighestConformingProfile identifie le profil cumulatif le plus élevé qui a réussi et n'a de sens que lorsque HasConformingProfile est vrai

Voir validation de la politique de signature PAdES, validation de signatures par lot, et acquisition de preuves de signature