Enterprise الإصدار
شفافية الشهادات — مرجع متعمّق
لمحة سريعة
قسم بعنوان «لمحة سريعة»هذه الصفحة هي المرجع المتعمّق لواجهة شفافية الشهادات (CT) في NextPDF Enterprise. تتكوّن الواجهة من كائن قيمة واحد غير قابل للتغيير: NextPDF\Enterprise\Security\CertificateTransparency\CtValidationResult. وهو يلخّص وضعية طابع الشهادة الموقّع الزمني (SCT) لشهادة توقيع X.509. يحمل هذا الكائن علم امتداد SCT، والعدد الإجمالي والصالح من SCT، ومعرّفات سجلات الإصدار. ويُتيح طريقة سياسة واحدة، meetsPolicy()، وهي تحقّق من حدّ أدنى لعدد SCT. يمثّل النوع نتيجةً؛ فهو لا يستخرج SCT، ولا يتحقّق من توقيعات SCT، ولا يتّصل بسجلات CT. للاطّلاع على الدليل على مستوى سير العمل، راجع سياسة شفافية الشهادات لشهادات التوقيع.
التوفّر والترخيص
قسم بعنوان «التوفّر والترخيص»تُشحن هذه القدرة في NextPDF Enterprise (nextpdf/enterprise) وتُفعّل بمظروف ترخيص من فئة Enterprise. النشر الذي لا يملك هذا الاستحقاق لا يُحمّل أصناف القدرة. قارن الإصدارات واحصل على ترخيص.
واجهة API العامة
قسم بعنوان «واجهة API العامة»| الرمز | المعاملات | السلوك الافتراضي | القيمة المُعادة | يرمي أو يفشل بـ | ملاحظات |
|---|---|---|---|---|---|
CtValidationResult | — | كائن قيمة غير قابل للتغيير يلخّص وضعية SCT لشهادة | — | لا يرمي | final readonly؛ جميع الخصائص الأربع المُرقّاة عبر المُنشئ عامة |
CtValidationResult::__construct | bool $hasSctsExtension، int $totalScts، int $validScts، array<string> $logIds | يخزّن القيم المُمرَّرة كما هي، دون تحقّق أو توفيق | نسخة CtValidationResult جديدة | لا يوجد @throws مُعلَن؛ يرفع PHP خطأ TypeError عند عدم تطابق أنواع الوسائط تحت strict_types | خصائص عامة مُرقّاة readonly |
CtValidationResult::meetsPolicy | int $minimumScts = 2 | يقارن عدد SCT الصالح بالحدّ: validScts >= $minimumScts | bool | لا يرمي | يعدّ SCT الصالحة فقط؛ لا يتحقّق من تمايز السجلات أو وجود الامتداد |
final readonly class CtValidationResultpublic function __construct( public bool $hasSctsExtension, public int $totalScts, public int $validScts, public array $logIds,) {}public function meetsPolicy(int $minimumScts = 2): boolالخصائص العامة للقراءة فقط
| الخاصية | النوع | المعنى |
|---|---|---|
$hasSctsExtension | bool | ما إذا كانت الشهادة تحتوي على امتداد SCT |
$totalScts | int | العدد الإجمالي لـ SCT المُكتشَفة في الامتداد |
$validScts | int | عدد SCT ذات التوقيعات الصالحة، كما تحدّده الطبقة الأعلى |
$logIds | array<string> | معرّفات السجلات (تجزئات SHA-256) لسجلات CT التي أصدرت SCT |
عقد السلوك
قسم بعنوان «عقد السلوك»-
CtValidationResult قيمة نتيجة. يمثّل حصيلة استخراج SCT والتحقّق منها التي أجرتها بيئة المُستدعي. فهو لا يحلّل الشهادات، ولا يتحقّق من توقيعات SCT، ولا يستعلم السجلات، ولا يرسل الشهادات إلى السجلات. - الامتداد المعني هو امتداد شهادة X.509v3 للـ SCT المضمّنة، المُعرّف بـ OID
1.3.6.1.4.1.11129.2.4.2 — RFC 6962 §3.3. تحمل SCT إصدارًا، ومعرّف سجل، وطابعًا زمنيًا، وامتدادات، وتوقيع السجل على الإدخال — RFC 6962 §3.2. - كل إدخال في
$logIds هو معرّف سجل كما تعرّفه RFC 6962 §3.2: تجزئة SHA-256 للمفتاح العام للسجل على SubjectPublicKeyInfo المُرمَّز بـ DER الخاص به. يخزّن النوع السلاسل كما تُمرَّر ولا يُعيد حسابها أو التحقّق منها. - ينفّذ
meetsPolicy() مقارنة واحدة تمامًا: عدد SCT الصالح أكبر من أو يساوي الحدّ. الحدّ الافتراضي هو 2. - لا يستشير
meetsPolicy() الخاصية $hasSctsExtension. السياسة التي يجب أن تفشل عند غياب الامتداد تتحقّق من الخاصية على نحو منفصل، قبل التحقّق من الحدّ أو إلى جانبه. - لا يزيل
meetsPolicy() التكرار من $logIds. السياسة التي تتطلّب SCT من سجلات مستقلة تتحقّق من التمايز عبر $logIds نفسه. - يخزّن المُنشئ المدخلات حرفيًا. فهو لا يُجري أي فحص للنطاق ولا أي فحص لاتّساق الحقول المتبادل.
- النسخ غير قابلة للتغيير (
final readonly). جميع القراءات والتحقّق من الحدّ حتمية وخالية من الآثار الجانبية. - قيمة الحدّ هي خيار سياسة المشغّل؛ لا يفرض NextPDF أي رقم. يشير مصدر الحزمة إلى نقطة مرجعية واحدة في المنظومة: سياسة CT في Chrome، اعتبارًا من 2024، تتوقّع اثنين على الأقل من SCT من سجلات مختلفة للشهادات ذات أعمار تصل إلى 180 يومًا، وثلاثة للشهادات الأطول عمرًا. تلك سياسة برنامج متصفّح، وليست متطلّبًا من IETF.
- الموضع المقصود هو بوابة ما قبل التوقيع: يرفض سير عمل التوقيع بناء موقّع عند فشل التحقّق. يتبع المنطق نموذج ثقة CT: SCT هي وعد السجل بإدماج الشهادة، والأطراف المعتمِدة ترفض شهادةً تفتقر إلى SCT صالحة — RFC 6962 §3. يحافظ الإصدار 2.0 من CT على النموذج ذاته: سجل يقبل تقديمًا يُعيد SCT، يتحقّق منها مقدّم الطلب قبل الاعتماد عليها — RFC 9162 §3.
الحالات الحدّية وأنماط الفشل
قسم بعنوان «الحالات الحدّية وأنماط الفشل»- حدّ صفري أو سالب. يُعيد
meetsPolicy(0) القيمة true لأي $validScts غير سالب. لا ترفض الطريقة القيمة. اختر حدًّا لا يقلّ عن 1. - الامتداد غائب والأعداد موجبة. عندما تكون
$hasSctsExtension بقيمة false لكن $validScts يستوفي الحدّ، لا يزال meetsPolicy() يُعيد true. يجب أن تتحقّق البوابة من $hasSctsExtension صراحةً عندما يجب أن يؤدّي الغياب إلى الفشل؛ تعرض صفحة القدرة هذا النمط. - معرّفات سجلات مكرّرة. N من SCT الصالحة من سجل واحد تستوفي حدًّا مقداره N. لا يقدّم التحقّق من الحدّ أي ادّعاء بالاستقلالية. سياسات تمايز السجلات تفحص
$logIds. - أعداد غير متّسقة.
$validScts أكبر من $totalScts، أو عدد سالب، يُخزَّن كما يُمرَّر. لا يُرفع أي استثناء. خطوة الاستخراج في الطبقة الأعلى تملك اتّساق المدخلات. - سلاسل معرّفات السجلات غير المُتحقَّق منها. لا يفرض النوع شكلًا من 32 بايت أو شكلًا سِتّ عشريًا على إدخالات
$logIds. تمرّ المعرّفات المُشوّهة دون تغيير. - لا مسار استثناء. لا ترمي أي طريقة على هذه الواجهة تحت أنواع PHP الصالحة. نمط فشل التحقّق من السياسة هو الرفض (
false)، وليس استثناءً. تؤدّي أنواع الوسائط غير المتطابقة إلى رفع PHP خطأ TypeError تحت strict_types، كما هو الحال في أي واجهة PHP مُنمَّطة.
السلوك في وضع FIPS
قسم بعنوان «السلوك في وضع FIPS»لا يُجري CtValidationResult أي حساب تشفيري. فهو لا يحسب أي ملخّص ولا يتحقّق من أي توقيع. أمّا ما إذا كان توقيع SCT قد عُدّ صالحًا فيُقرَّر في الطبقة الأعلى، بواسطة المكوّن الذي أجرى التحقّق قبل بناء النتيجة. لذا فإنّ ملف تعريف سياسة التشفير FIPS 140-3 في Enterprise، المُوثَّق مع وحدة الأمان، لا يغيّر سلوك هذا النوع.
المطابقة
قسم بعنوان «المطابقة»| الادّعاء | المعيار | البند |
|---|---|---|
| SCT هي وعد السجل بإدماج الشهادة؛ والأطراف المعتمِدة ترفض شهادةً تفتقر إلى SCT صالحة. | RFC 6962 | §3 |
| تحمل SCT إصدارًا، ومعرّف سجل، وطابعًا زمنيًا، وامتدادات، وتوقيع السجل على الإدخال. | RFC 6962 | §3.2 |
معرّف السجل هو تجزئة SHA-256 للمفتاح العام للسجل على SubjectPublicKeyInfo المُرمَّز بـ DER الخاص به. | RFC 6962 | §3.2 |
تُحمَل SCT المضمّنة على امتداد شهادة X.509v3 مُعرَّف بـ OID 1.3.6.1.4.1.11129.2.4.2. | RFC 6962 | §3.3 |
| في الإصدار 2.0 من CT، سجل يقبل تقديمًا يُعيد SCT، يتحقّق منها مقدّم الطلب قبل الاعتماد عليها. | RFC 9162 | §3 |
جميع البنود مُعاد صياغتها؛ لا يُعيد NextPDF إنتاج النص المعياري. لا يقدّم NextPDF أي ادّعاء بمطابقة أو شهادة شفافية شهادات. ليس NextPDF Enterprise سجل CT، ولا مدقّقًا، ولا مراقبًا. فهو لا يرسل الشهادات إلى السجلات ولا يؤكّد حصيلة تحقّق CT. يمثّل النوع الأعداد والمعرّفات التي أنتجتها بيئة المُستدعي، ويُقيّم حدًّا اختاره المُستدعي. برامج CT في المتصفّحات، مثل برنامج Chrome، هي سياسات منظومة لا متطلّبات معيارية من IETF؛ واختيار سياسة كهذه واستيفاؤها مسؤولية المشغّل.
ملاحظات التطوير
قسم بعنوان «ملاحظات التطوير»- كائن القيمة لا يملك أي اعتماديات ولا أي إدخال/إخراج. أنشئ النسخ مباشرةً في اختبارات الوحدة.
- الاختبارات الحدّية المُوصى بها: عدد صالح عند الحدّ تمامًا، وواحد دون الحدّ، وامتداد غائب مع أعداد عند الحدّ، ومعرّفات سجلات مكرّرة في مواجهة سياسة تمايز.
- الصنف مُعلَن تحت
strict_types=1 بخصائص مُرقّاة مُنمَّطة. أنواع الوسائط الخاطئة ترفع PHP خطأ TypeError في المُستدعي. - يحمل الصنف تعليق حزمة
@since بقيمة 1.0.0 ويشير إلى RFC 6962 وRFC 9162 في توثيق مصدره. - المعامل
$logIds مُوثَّق بوصفه array<string>؛ يعامل التحليل الساكن الخاصية بوصفها مصفوفة من السلاسل. حافظ على هذا الشكل عند بناء النتائج. - ضع تحقّق CT في الطبقة الأعلى وبوابة الحدّ هذه قبل بناء الموقّع، حتى لا تصل شهادة غير مُسجَّلة بما يكفي إلى عملية توقيع أبدًا. توثّق صفحة القدرة سير العمل ومثالًا معالَجًا للبوابة.
انظر أيضًا
قسم بعنوان «انظر أيضًا»- سياسة شفافية الشهادات لشهادات التوقيع — صفحة القدرة: سير العمل، والتهيئة، وبوابة سياسة معالَجة.
- الأمان — NextPDF Enterprise — واجهة أمان Enterprise المُجمَّعة.
- التوقيع — مرجع متعمّق — مُنتِج PAdES B-LT وB-LTA طويل الأمد.
- الأمان / التوقيع (Core) — موقّع CMS في Core وعقد استراتيجية التوقيع.
- شفافية الشهادات · SCT — مصطلحات المسرد.
حدود النشر
قسم بعنوان «حدود النشر»توثّق هذه الصفحة السلوك القابل للملاحظة خارجيًا وواجهة API العامة المدعومة فقط. مسارات فضاءات الأسماء الداخلية، والأصناف المساعِدة، وجداول الآليات، وأسماء ملفات دليل التشغيل، وبادئات التذاكر خارج النطاق.