PDFium Delphi Component Docs

FPdfTsaFpc الوحدة

الوحدة: FPdfTsaFpc
خلفية نقل طوابع زمنية libcurl لـ Free Pascal ترسل طلب RFC 3161 إلى عنوان URL لسلطة طابع زمني وتعيد بايتات الاستجابة

الصياغة

const
  TsaMaxResponseBytes = 4 * 1024 * 1024;
  TsaRequestTimeoutSeconds = 30;
  TsaConnectTimeoutSeconds = 30;

function TsaHttpAvailable: Boolean;
function TsaHttpBackendName: string;
function PostTimeStampQuery(const TsaUrl: string; const ReqDer: TBytes;
  out RespDer: TBytes): Boolean;

الوصف

FPdfTsaFpc هو نقل الطوابع الزمنية لغير Windows الذي تستهلكه FPdfTsa، وهو نظير FPdfTsaWin. يرسل TimeStampReq مرمَّزًا بأسلوب POST إلى عنوان URL لسلطة طابع زمني عبر HTTP أو HTTPS ويجمع بايتات TimeStampResp؛ ويبقى بناء DER وتحليله في FPdfTsa

النقل يتم عبر libcurl مربوط في وقت التشغيل لا مرتبط وقت البناء، فالمكتبة ليست تبعية بناء وغيابها يُبلَّغ عنه بدل أن يُخفق التحميل. والمرور عبر libcurl يُبقي أيضًا رزمة TLS خارج هذه الوحدة: يختار libcurl خلفيته الخاصة ويتحقق من سلسلة الخادم مقابل مخزن ثقة المنصة

يُبلِّغ TsaHttpAvailable عمّا إذا وُجدت libcurl وحُلَّت نقاط الدخول المطلوبة؛ ويسمي TsaHttpBackendName الخلفية المحلولة؛ وتجري PostTimeStampQuery تبادل HTTP وتعيد False (بدل إطلاق استثناء) عند أي إخفاق في النقل، ما يتيح للمستدعي إضافة سياقه الخاص وسياسة إعادة المحاولة

قسم الواجهة بأكمله يُترجَم تحت FPC وحده. وتحت Delphi تكون الوحدة فارغة، لأن Delphi يستهدف Windows و FPdfTsaWin هي الخلفية هناك. ومع ذلك تُترجَم الوحدة على كل أهداف FPC بما في ذلك Windows، حيث تفضّل FPdfTsa خلفية WinHttp ولا يستدعي أحد هذه الوحدة

تقطع أنواع مقابض libcurl وروابط نقاط الدخول وثوابت الخيارات في قسم التنفيذ؛ ولا يكشف قسم الواجهة سوى فحص التوافر واسم الخلفية ومساعد الإرسال وحدود النقل الثلاثة

الدوال

الدالةالوصف
TsaHttpAvailableتعيد True عندما يُعثر على libcurl وتُحل كل نقطة دخول مطلوبة في وقت التشغيل
TsaHttpBackendNameتعيد اسم الخلفية المحلولة، وهي libcurl عندما يكون النقل صالحًا للاستخدام وسلسلة فارغة غير ذلك
PostTimeStampQueryترسل ReqDer بأسلوب POST إلى TsaUrl وتملأ RespDer بمتن TimeStampResp الخام؛ وتعيد False عند إخفاق النقل

الثوابت

الثابتالقيمةالوصف
TsaMaxResponseBytes4 * 1024 * 1024الحد الأعلى لمتن TimeStampResp المقبول؛ والاستجابة الأكبر تُجهض النقل بدل تنمية المخزن بلا حدود. ويُبقى هذا الثابت متطابقًا مع مثيله في FPdfTsaWin
TsaRequestTimeoutSeconds30ميزانية الطلب الكامل بالثواني، مطابقة لمهلات WinHttp حتى لا يعلّق TSA ميت خيط توقيع على أي من المنصتين
TsaConnectTimeoutSeconds30ميزانية الاتصال بالثواني، وتُطبَّق قبل ميزانية الطلب

ملاحظات

انظر أيضًا

FPdfTsa, FPdfTsaWin, FPdfCms, TPdf.SignPades