PDFium Delphi Component Docs

BuildPadesEvidenceReport الطريقة

المكوّن: TPdf  ·  الوحدة: PDFium
تبني تقرير أدلة واحدًا محدود الحدود يغطي كل توقيع PAdES وكل طابع زمني للمستند في أصل PDF المحتفظ به

الصياغة

function BuildPadesEvidenceReport(const Options: TPadesEvidenceReportOptions): TPadesEvidenceReport;

الوصف

تجمع حقائق توقيع PDFium مع فحص خوارزميات CMS وسياساتها وحالة ثقة الشهادات وإبطالها وحالة طابع RFC 3161 الزمني وتغطية DSS/VRI وتحليل سياسة المراجعات التزايدية

تحتفظ الطريقة بالتقاط واحد غير قابل للتغيير لبايتات المصدر وتعيد استخدامه عبر مراحل الامتثال والثقة و DSS والمراجعات دون إعادة حفظ المستند

تُصدر هويات الموقِّع ومسار الشهادات المرتب بقيم SHA-256 بدل نسخ متن الشهادات إلى التقرير

الخيارات

النتيجة

يشمل 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 أو الخطأ الصفري يحدثان أيضًا عندما يكون الفحص معطلًا أو لم يُصل إليه أو تنقصه تشخيصات خلفية تفصيلية؛ وتصدير الأدلة لا يُجري مرور تحقق إضافيًا

ملاحظات

مثال

var
  Options: TPadesEvidenceReportOptions;
  Report: TPadesEvidenceReport;
begin
  Options := TPadesEvidenceReportOptions.Default;
  Report := Pdf1.BuildPadesEvidenceReport(Options);
  TFile.WriteAllText('signature-evidence.json', Report.ToJson);
end;

انظر أيضًا

ValidatePadesTrust AnalyzeSignatureRevisions