Clause-adressierbare PAdES-Profil-Preflight

THotPDF.PreflightLoadedPAdES bewertet eine geladene Signatur gegen ein einzelnes kumulatives PAdES-Baseline- oder erweitertes Profil und liefert jede anwendbare Anforderung einschließlich erfolgreicher Prüfungen mit Herkunft aus Standardklausel und PDF-Nachweis

Unterstützte Ziele

Baseline-Ziele sind palBaseline_B_B, palBaseline_B_T, palBaseline_B_LT und palBaseline_B_LTA; erweiterte Ziele sind palExtended_E_BES, palExtended_E_EPES und palExtended_E_LTV

Der generische Wert palLegacy_adbePkcs7 ist kein PAdES-Profil und wird als Ziel abgelehnt

Bewertungsvertrag

Die Stream-Überladung erhält die aufruferbesitzene Quellposition, während die Datei-Überladung die von LoadFromFile verwendete Quelle erneut öffnet. Ein True-Funktionsergebnis bedeutet, dass die Bewertung abgeschlossen ist; verwenden Sie THPDFPAdESPreflightReport.Compliant, um die Konformität zu prüfen

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;

Untersuchte Nachweise

Baseline- und erweiterte Prüfungen untersuchen das Signaturwörterbuch, die vollständige /ByteRange-Abdeckung, die Gültigkeit der CMS-Signatur, die Kardinalität signierter Attribute, den Inhaltstyp, den Nachrichtendigest, die Einschränkungen der Signierzeit, /M, /Filter, /SubFilter, /Reason und verbotene Einträge /Cert

Die Prüfungen zu ESS signing-certificate und signing-certificate-v2 hashen das tatsächliche Unterzeichnerzertifikat und verlangen eine übereinstimmende ESSCertID-Referenz, statt ein Attribut allein anhand seines Namens zu akzeptieren

Höhere Stufen prüfen zusätzlich gültige Signatur- oder Dokumentzeitstempel, Zertifikats- und Widerrufsarrays im DSS, die Revision, die Validierungsmaterial eingeführt hat, und ob ein späterer Dokumentzeitstempel diese DSS-Revision abdeckt

Strukturierte Befunde

Jede THPDFPAdESPreflightRequirement meldet ihr einführendes Profile, die normative Level, die stabile RuleID, Clause, den PDF-Path, ObjectNumber, RevisionIndex, den Passed-Status und eine diagnostische Message

FailedRequirementCount zählt fehlgeschlagene Soll-Regeln, während WarningCount fehlgeschlagene Sollte-Leitlinien zählt. HighestConformingProfile identifiziert das höchste kumulative Profil, das bestanden hat, und ist nur aussagekräftig, wenn HasConformingProfile wahr ist

Siehe PAdES-Signaturrichtlinien-Validierung, Stapel-Signaturvalidierung und Erhebung von Signaturnachweisen