Klausul-adressérbar PAdES-profil-preflight

THotPDF.PreflightLoadedPAdES evaluerer en indlæst signatur mod én kumulativ PAdES-baseline- eller udvidet profil og returnerer hvert gældende krav, inklusive vellykkede check, med oprindelse i standardklausul og PDF-evidence

Understøttede mål

Baseline-mål er palBaseline_B_B, palBaseline_B_T, palBaseline_B_LT og palBaseline_B_LTA; udvidede mål er palExtended_E_BES, palExtended_E_EPES og palExtended_E_LTV

Den generiske palLegacy_adbePkcs7-værdi er ikke en PAdES-profil og afvises som mål

Evalueringskontrakt

Stream-overloadet bevarer den kalder-ejede kildeposition, mens fil-overloadet genåbner kilden, som LoadFromFile bruger. Et True-funktionsresultat betyder, at evalueringen er fuldført; brug THPDFPAdESPreflightReport.Compliant til at teste overensstemmelse

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;

Inspiceret evidens

Baseline- og udvidede check inspicerer signaturordbogen, fuld /ByteRange-dækning, CMS-signaturgyldighed, kardinaliteten af underskrevne attributter, indholdstype, besked-digest, signeringstidsbegrænsninger, /M, /Filter, /SubFilter, /Reason og forbudte /Cert-poster

ESS-signing-certificate- og signing-certificate-v2-check hasher det faktiske underskrivercertifikat og kræver en matchende ESSCertID-reference i stedet for at acceptere en attribut alene efter navn

Højere niveau inspicerer desuden gyldige signatur- eller dokumenttidsstempler, DSS-certifikat- og tilbagekaldelses-arrays, den revision, der indførte valideringsmateriale, og om et senere dokumenttidsstempel dækker den DSS-revision

Strukturerede fund

Hver THPDFPAdESPreflightRequirement rapporterer sin indførende Profile, normative Level, stabile RuleID, Clause, PDF-Path, ObjectNumber, RevisionIndex, Passed-status og diagnostiske Message

FailedRequirementCount tæller fejlede shall-niveau regler, mens WarningCount tæller fejlede should-niveau retningslinjer. HighestConformingProfile identificerer den højeste kumulative profil, der bestod, og er kun meningsfuld, når HasConformingProfile er true

Se PAdES-validering af signaturpolitik, batchvalidering af signaturer og signaturevidence-indsamling