Попередня перевірка профілю PAdES за пунктами

THotPDF.PreflightLoadedPAdES оцінює завантажений підпис щодо одного кумулятивного базового або розширеного профілю PAdES і повертає кожну застосовну вимогу, включно з успішними перевірками, із походженням за пунктами стандарту та PDF-доказами

Підтримувані цілі

Базові цілі: palBaseline_B_B, palBaseline_B_T, palBaseline_B_LT та palBaseline_B_LTA; розширені цілі: palExtended_E_BES, palExtended_E_EPES та palExtended_E_LTV

Загальне значення palLegacy_adbePkcs7 не є профілем PAdES і відхиляється як ціль

Контракт оцінювання

Перевантаження потоку зберігає позицію джерела, що належить викликному коду, тоді як перевантаження файлу повторно відкриває джерело, використане LoadFromFile. Логічний результат True означає, що оцінювання завершилося; використовуйте THPDFPAdESPreflightReport.Compliant для перевірки відповідності

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;

Перевірені докази

Базові та розширені перевірки вивчають словник підпису, повне покриття /ByteRange, дійсність підпису CMS, кардинальність підписаних атрибутів, тип вмісту, дайджест повідомлення, обмеження часу підписання, /M, /Filter, /SubFilter, /Reason та заборонені записи /Cert

Перевірки ESS signing-certificate та signing-certificate-v2 хешують фактичний сертифікат підписувача та вимагають відповідного посилання ESSCertID, а не приймають атрибут лише за назвою

Вищі рівні додатково перевіряють дійсні мітки часу підпису або документа, масиви сертифікатів і анулювань DSS, ревізію, що ввела матеріали перевірки, а також те, чи пізніша мітка часу документа покриває цю ревізію DSS

Структуровані знахідки

Кожен THPDFPAdESPreflightRequirement звітує про свій запроваджувальний Profile, нормативний Level, стабільний RuleID, Clause, Path PDF, ObjectNumber, RevisionIndex, статус Passed і діагностичний Message

FailedRequirementCount підраховує невдалі правила рівня shall, тоді як WarningCount підраховує невдалі вказівки рівня should. HighestConformingProfile визначає найвищий кумулятивний профіль, що його пройшли, і є значущим лише тоді, коли HasConformingProfile задане як true

Перегляньте перевірку політики підпису PAdES, пакетну перевірку підписів та отримання доказів підпису