فحص مسبق لملفات 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 وتُرفض كهدف
عقد التقييم
تحافظ نسخة الدالة التي تعمل على stream على موضع المصدر المملوك للمستدعي، بينما تعيد نسخة الدالة التي تعمل على الملف فتح المصدر المستخدم في 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 المحظورة
تجزّئ فحوص signing-certificate وsigning-certificate-v2 في ESS شهادة الموقِّع الفعلية وتتطلب مطابقة مرجع ESSCertID بدلًا من قبول السمة بالاسم وحده
كما تفحص المستويات الأعلى طوابع زمنية صالحة للتوقيع أو المستند، ومصفوفات الشهادات والإلغاء في DSS، والمراجعة التي قدمت مادة التحقق، وما إذا كان طابع زمني لاحق للمستند يغطي مراجعة DSS تلك
النتائج المهيكلة
يبلّغ كل THPDFPAdESPreflightRequirement عن Profile المقدم له، وLevel المعياري، وRuleID المستقر، وClause، وPath في PDF، وObjectNumber، وRevisionIndex، وحالة Passed، وMessage التشخيصي
يعدّ FailedRequirementCount قواعد shall الفاشلة، بينما يعدّ WarningCount إرشادات should الفاشلة، ويحدد HighestConformingProfile أعلى ملف تعريفي تراكمي نجح، ولا يكون ذا معنى إلا عندما تكون HasConformingProfile صحيحة
انظر التحقق من سياسة التوقيع في PAdES، والتحقق الدفعي من التوقيعات، واقتناء أدلة التوقيع