function TsaHttpAvailable: Boolean;
function TsaHttpBackendName: string;
function PostTimeStampQuery(const TsaUrl: string; const ReqDer: TBytes; out RespDer: TBytes): Boolean;
تختار FPdfTsa هذا النقل لـ Delphi على POSIX؛ تستخدم System.Net.HttpClient لإرسال POST فعلي عبر HTTP أو HTTPS مع Content-Type: application/timestamp-query و Accept: application/timestamp-reply
تفوض الواجهة إلى FPdfTsaWin على Windows و FPdfTsaFpc مع Free Pascal الأصلي؛ تبقى حزم Delphi Windows الأقدم بلا تبعية لتنفيذ HTTP الخاص بـ POSIX
تصف إتاحة النقل خلفية HTTP المختارة فقط؛ لا تثبت الوصول إلى TSA أو الثقة بشهادة الموقع أو صلاحية الطابع الزمني
| الدالة | الوصف |
|---|---|
TsaHttpAvailable | تبين إتاحة نقل HTTP المختار للمنصة |
TsaHttpBackendName | تعيد System.Net.HttpClient لـ Delphi POSIX أو الاسم الذي يعيده نقل Windows أو Free Pascal المفوض |
PostTimeStampQuery | ترسل طلب DER إلى TsaUrl وتقبل استجابة 2xx غير فارغة ومحدودة، وتعيد بايتاتها في RespDer؛ يفرغ الفشل الإخراج ويعيد False |
يحد النقل أجسام الطلبات والاستجابات بـ 4 MiB و URLs بـ 8192 وحدة نص؛ يقبل HTTP و HTTPS فقط، مع تعطيل redirects
مهلات الاتصال والإرسال والاستجابة 30000 مللي ثانية؛ يطلب worker إلغاء الطلب الأصلي بعد استنفاد الميزانية الإجمالية 30000 مللي ثانية؛ ترفض الكتابة المحدودة لتدفق الاستجابة وفحص اكتمالها تجاوز المهلة أيضًا؛ يتحكم تنفيذ HTTP في النظام بمدى سرعة استجابة الإلغاء الأصلي
يحتفظ HTTPS بفحوص الشهادة واسم المضيف؛ نجاح POST نجاح نقل فقط: تظل FPdfTsa مسؤولة عن تحليل RFC 3161 وفحص imprint و nonce واستخراج token؛ يتحقق PAdES مستقلاً من توقيع CMS الأصلي وسلسلة الشهادات وأدلة الإلغاء ودور الطابع الزمني
قد تحتوي 2xx رفضًا DER من TSA، ويبلغ محلل الاستجابة الأعلى عنه كفشل طلب الطابع الزمني