Попередня перевірка профілю 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, пакетну перевірку підписів та отримання доказів підпису