function FreshOcspResponse(const Der: TBytes; UtcNow: TDateTime): Boolean;
function CryptoUtcNow: TDateTime;
| الدالة | الوصف |
|---|---|
FreshOcspResponse | تعيد True فقط إذا كانت Der تحتوي بنية استجابة OCSP أساسية ناجحة ومحدودة، واجتازت جميع الاستجابات فحوص الحداثة مقابل UtcNow؛ هذا مرشح أولي لا يصادق الأدلة مطلقًا |
CryptoUtcNow | تعيد TDateTime الحالي بتوقيت UTC، باستخدام تحويل المنطقة الزمنية للمنصة بدل اعتبار الوقت المحلي UTC |
| الفحص | الحد أو السلوك |
|---|---|
| حجم استجابة DER | غير فارغة ولا تتجاوز 1 MiB |
| عناصر SingleResponse | عنصر واحد على الأقل، وبحد أقصى ثابت 64 |
| انحراف الساعة | 300 ثانية لمقارنات المستقبل أو انتهاء الصلاحية |
producedAt و thisUpdate | لا يتجاوز عمرهما يومًا واحدًا ولا يتعديان الانحراف المستقبلي المسموح |
nextUpdate | إن وُجد، لا يسبق thisUpdate ويظل صالحًا ضمن الانحراف المسموح |
| استجابة مشوهة أو غير مدعومة | تعيد False، بما في ذلك فشل استجابة OCSP الخارجية أو نوع الاستجابة غير المدعوم |
تسمح True للمتحقق الأصلي بفحص الاستجابة فقط؛ لا تثبت توقيع المستجيب أو صلاحياته أو تطابق المُصدر أو معرف الشهادة أو حالتها الإيجابية
تصادق FPdfCryptoSsl على OCSP عبر OpenSSL، وتصادق FPdfCryptoMac على الاستجابات المقدمة عبر Security.framework؛ ينبغي فحص نتائج التوقيع والثقة والإلغاء المستقلة بدل اعتبار FreshOcspResponse حكمًا على الإلغاء
لا يرسل المساعد طلبات HTTP ولا يضيف مرتكزات ثقة أو يعدل ثقة النظام أو يستخدم cache دائمًا؛ يقدم المستدعي UTC صراحة، مما يتيح أيضًا اختبارات حتمية لحدود الوقت