function BuildPadesEvidenceReport(const Options: TPadesEvidenceReportOptions): TPadesEvidenceReport;
تجمع حقائق توقيع PDFium مع فحص خوارزميات CMS وسياساتها وحالة ثقة الشهادات وإبطالها وحالة طابع RFC 3161 الزمني وتغطية DSS/VRI وتحليل سياسة المراجعات التزايدية
تحتفظ الطريقة بالتقاط واحد غير قابل للتغيير لبايتات المصدر وتعيد استخدامه عبر مراحل الامتثال والثقة و DSS والمراجعات دون إعادة حفظ المستند
تُصدر هويات الموقِّع ومسار الشهادات المرتب بقيم SHA-256 بدل نسخ متن الشهادات إلى التقرير
TrustOptions في تقييم الثقة دون اتصال أو مع اتصال وفحص الإبطال وفحص الطابع الزمني والتقدم والمهلة والإلغاءMaxSourceBytes المصادر المحتفظ بها الأكبر من الحجم قبل بدء تحليل الأدلةMaxSignatures الأدلة المجمعة لكل توقيعMaxRevisionChangesPerSignature تغيّرات المراجعات على مستوى الكائنات المحتفظ بها لكل توقيعMaxValidationMaterials و MaxStoredValidationBytes أدلة الشهادات و OCSP و CRL دون فك ترميز التيارات المضغوطةMaxVriEntries قواميس VRI الخاصة بالتوقيعاتيشمل TPadesEvidenceReport ملخصات التحقق والمراجعات وسجلات مواد DSS المبصمة والرسوم المرجعية لـ VRI وعدد توقيعات PDFium وحالة القطع و TPadesSignatureEvidence واحدًا لكل توقيع محتفظ به
يُصدر ToJson مستند أدلة متداخلًا ويُصدر ToCsv صفًا واحدًا لكل تغيّر مراجعة محتفظ به، أو صف ملخص واحد عندما لا يحتوي توقيع على تغيّرات محتفظ بها
يحفظ TPadesSignatureEvidence.Validation قيمتَي RevocationReason و NativeRevocationError الخاصتين بالتوقيع بشكل مستقل عن TimeStampRevocationReason و NativeTimeStampRevocationError الخاصين بالطابع الزمني
كل مدخل JSON في signatures يتضمن revocationReason و nativeRevocationError و timeStampSignatureStatus و timeStampTrustStatus و timeStampRevocationStatus و timeStampRevocationReason و nativeTimeStampRevocationError. الأعضاء والمعاني القائمة لم تتغير؛ وصيغة JSON بلا عضو لإصدار المخطط، فعلى المستهلكين قراءة الحقول بالاسم والتسامح مع أعضاء إضافيين
يحتفظ CSV بأعمدته الأصلية الأربعين بترتيبها الأصلي ويُلحق الحقول السبعة نفسها بالترتيب المذكور أعلاه، ليصبح المجموع 47 عمودًا. وصفوف الملخص وصفوف تغيّرات المراجعة على حد سواء تتضمن التشخيصات؛ ومواضع الأعمدة القائمة تبقى كما هي. وعلى القراء استخدام أسماء الترويسة أو التسامح مع أعمدة إضافية في النهاية بدل اشتراط أربعين عمودًا بالضبط
سلاسل الأسباب هي none أو certificateRevoked أو crlExpired أو crlNotYetValid أو crlUnavailable أو crlSignatureInvalid أو crlInvalid أو chainUntrusted أو unknown. والأخطاء الأصلية أكواد رقمية خاصة بالخلفية، مثل أخطاء تحقق X509 في OpenSSL أو قيم DWORD الخام من مزود Windows أو GetLastError، والصفر يعني عدم وجود تشخيص أصلي. وتُصدَّر قيم Windows دون تغيير ويجب عدم تفسيرها كأقنعة ثقة سلسلة تجميعية أو فضاء HRESULT مشترك
استخدم revocationStatus و timeStampRevocationStatus لتحديد الحكم. فالسبب none أو الخطأ الصفري يحدثان أيضًا عندما يكون الفحص معطلًا أو لم يُصل إليه أو تنقصه تشخيصات خلفية تفصيلية؛ وتصدير الأدلة لا يُجري مرور تحقق إضافيًا
Active بالقيمة TrueIsTruncated عندما يقص أي ميزانية توقيعات أو تغيّرات مراجعة أو مواد تحقق أو بايتات مخزنة أو VRI تفاصيل التقريرpvssIncomplete
var
Options: TPadesEvidenceReportOptions;
Report: TPadesEvidenceReport;
begin
Options := TPadesEvidenceReportOptions.Default;
Report := Pdf1.BuildPadesEvidenceReport(Options);
TFile.WriteAllText('signature-evidence.json', Report.ToJson);
end;