تخطَّ إلى المحتوى
getnextpdf.com

Enterprise الإصدار

سياسة شفافية الشهادات لشهادات التوقيع

يتيح ⁨NextPDF Enterprise⁩ لسير عمل توقيع أن يأخذ في الحسبان موقف شفافية الشهادات (⁨CT⁩) لشهادة توقيع قبل أن يوقّع. و⁨CT⁩ هي منظومة السجلات العامة التي تُسجَّل فيها الشهادات حتى يصبح الإصدار الخاطئ قابلًا للكشف؛ وتحمل شهادة مُسجَّلة في ⁨CT⁩ طابعًا زمنيًّا موقَّعًا للشهادة (⁨SCT⁩) واحدًا أو أكثر. ويمثّل ⁨NextPDF Enterprise⁩ موقف ⁨CT⁩ لشهادة بوصفه قيمة نتيجة — ما إذا كان امتداد ⁨SCT⁩ حاضرًا، وكم عدد ⁨SCT⁩ الحاضرة والصالحة، وأي سجلات أصدرتها — ويقدّم فحص عتبة بأدنى عدد من ⁨SCT⁩. وهذه الصفحة على مستوى السلوك: تذكر ما تحمله النتيجة، وكيف يعمل فحص العتبة، وما الذي يقرّره ⁨NextPDF⁩ وما لا يقرّره.

يمثّل ⁨NextPDF Enterprise⁩ نتيجة ⁨CT⁩ ويفحص عتبتها؛ وهو ليس سجل ⁨CT⁩ ولا مدقّق سجل ولا مرقابًا. ويُذكَر الحدّ تحت الأمان والامتثال.

المتطلبات المسبقة مذكورة في الواجهة الأمامية ومكرّرة تحت المتطلبات المسبقة.

تُشحَن هذه القدرة في ⁨NextPDF Enterprise⁩ (nextpdf/enterprise) وتُفعَّل بمظروف ترخيص من فئة ⁨Enterprise⁩. ولا يُحمِّل نشرٌ يفتقر إلى ذلك الاستحقاق أصنافَ القدرة. ‏قارِن الإصدارات واحصل على ترخيص.

تحمل شهادة مُسجَّلة في ⁨CT⁩ طوابع ⁨SCT⁩. ويحمل ⁨SCT⁩ إصدارًا، ومعرّف سجل، وطابعًا زمنيًّا، وتوقيع السجل على مدخل الشهادة، وفق ⁨RFC 6962 §3.1⁩. ويُرجِع السجل ⁨SCT⁩ بوصفه وعدًا منه بدمج الشهادة في سجله المُلحَق فقط، وترفض الأطراف المعتمِدة شهادة تفتقر إلى ⁨SCT⁩ صالح، وفق ⁨RFC 6962 §3⁩. وتُبقي شفافية الشهادات الإصدار ⁨2.0⁩ النموذج نفسه: إذ يُرجِع السجل ⁨SCT⁩ عند التقديم، ويتحقق منه المُقدِّم قبل الاعتماد عليه، وفق ⁨RFC 9162 §3⁩.

يمثّل ⁨NextPDF Enterprise⁩ موقف ⁨CT⁩ لشهادة بوصفه قيمة نتيجة تحمل:

  • ما إذا كانت الشهادة تحتوي امتداد ⁨SCT⁩؛
  • العدد الإجمالي لطوابع ⁨SCT⁩ المُكتشَفة؛
  • عدد طوابع ⁨SCT⁩ التي تكون توقيعاتها صالحة؛
  • معرّفات السجلات — تجزئات ⁨SHA-256⁩ — للسجلات التي أصدرت طوابع ⁨SCT⁩.

تعرض النتيجة فحص عتبة بأدنى عدد من ⁨SCT⁩: إذ تبلّغ بما إذا كان عدد طوابع ⁨SCT⁩ الصالحة يبلغ أدنى عدد مطلوب أو يتجاوزه. وتضبط أنت الحدّ الأدنى ليطابق سياستك. وتتوقّع سياسة شائعة طابعَي ⁨SCT⁩ على الأقل من سجلات مختلفة للشهادات الأقصر عمرًا، وأكثر للأطول عمرًا؛ وقيمة العتبة لك أن تختارها.

استخدم فحص العتبة بوّابةً في سير عمل توقيع: اشترِط شهادة مُسجَّلة في ⁨CT⁩ (عددًا كافيًا من طوابع ⁨SCT⁩ الصالحة) قبل أن توقّع، وارفض خلاف ذلك.

تجيب شفافية الشهادات عن سؤال ضيّق: أهذه الشهادة مُسجَّلة علنًا، وبواسطة كم سجلًّا مستقلًّا. ويُنمذِج ⁨NextPDF Enterprise⁩ تلك الإجابة بوصفها قيمة نتيجة صرفة، لا حُكمًا. وتُبلّغ النتيجة براية امتداد ⁨SCT⁩، وأعداد ⁨SCT⁩، ومعرّفات السجلات المُصدِرة، ثم تتوقّف. وهي لا تقرّر ما إذا كان ذلك الموقف جيّدًا بما يكفي، لأن عتبة الثقة سياسة طرف معتمِد تتباين بحسب عمر الشهادة والمخاطرة. ولذا يبقى أدنى عدد من ⁨SCT⁩ لك أن تضبطه، ويظل ⁨NextPDF⁩ خارج أدوار مشغّل السجل والمدقّق والمرقاب. وشفافية الشهادات فحص واحد من عدة فحوص في قرار توقيع سليم، وهذه الصفحة تجعلها بوّابة صريحة قبل إنشاء المُوقِّع.

خلفية التصميم: التحقق من توقيع تحققًا سليمًا.

  1. ثبّت ⁨NextPDF Core⁩ وحزمة ⁨Enterprise⁩، واحتفظ بترخيص ⁨Enterprise⁩ فعّال.
  2. احتفظ بشهادة التوقيع التي تريد فرض موقف ⁨CT⁩ لها، إلى جانب بيانات ⁨SCT⁩ التي تستخرجها بيئتك منها.
  3. قرّر عتبة أدنى عدد من ⁨SCT⁩ التي تتطلّبها سياستك.
  • عتبة أدنى عدد من ⁨SCT⁩ — عدد طوابع ⁨SCT⁩ الصالحة التي يجب أن تحملها شهادة لتجتاز سياستك. مرّره إلى فحص العتبة.
  • موضع السياسة — قرّر أين في سير عمل توقيعك تعمل البوّابة: قبل إنشاء المُوقِّع، حتى لا تصل شهادة ناقصة التسجيل أبدًا إلى عملية توقيع.
  1. احصل على نتيجة ⁨CT⁩ لشهادة توقيعك، حاملةً راية امتداد ⁨SCT⁩، وأعداد ⁨SCT⁩ الإجمالية والصالحة، ومعرّفات السجلات.
  2. قرّر عتبة أدنى عدد من ⁨SCT⁩ لسياستك.
  3. شغّل فحص العتبة؛ وعامِل النجاح بوصفه «سياسة ⁨CT⁩ مُستوفاة» والإخفاق بوصفه «ارفض التوقيع بهذه الشهادة».
  4. بوّب سير عمل التوقيع على النتيجة قبل إنشاء المُوقِّع.
examples/enterprise/ct-policy-gate.php
<?php
declare(strict_types=1);
require_once __DIR__ . '/../../vendor/autoload.php';
use NextPDF\Enterprise\Security\CertificateTransparency\CtValidationResult;
use Psr\Log\LoggerInterface;
final readonly class CtSigningPolicy
{
/**
* @param int<1, max> $minimumScts The minimum count of valid SCTs your policy requires.
*/
public function __construct(
private int $minimumScts,
private LoggerInterface $logger,
) {}
/**
* Decide whether a certificate's CT posture satisfies the policy.
*
* The gate runs before the signer is constructed, so an under-logged
* certificate never reaches a signing operation. A missing SCT extension
* is treated as a policy failure, not an exception.
*
* @param CtValidationResult $result The CT posture of the signing certificate.
*
* @return bool True when the certificate meets the minimum-SCT threshold.
*/
public function isAcceptable(CtValidationResult $result): bool
{
if (! $result->hasSctsExtension) {
$this->logger->warning('Signing certificate carries no SCT extension; CT policy not met.');
return false;
}
$acceptable = $result->meetsPolicy($this->minimumScts);
if (! $acceptable) {
$this->logger->warning('Signing certificate has too few valid SCTs for the CT policy.', [
'validScts' => $result->validScts,
'minimumScts' => $this->minimumScts,
]);
}
return $acceptable;
}
}
  1. ابنِ نتيجةً بامتداد ⁨SCT⁩ حاضر وعدد ⁨SCT⁩ صالحة عند عتبتك، وأكّد نجاح فحص العتبة.
  2. ابنِ نتيجةً بعدد أقل بواحد من عتبتك وأكّد إخفاق الفحص.
  3. ابنِ نتيجةً بامتداد ⁨SCT⁩ غائب وأكّد رفض البوّابة بصرف النظر عن العدد.
  4. أكّد أن سير عمل توقيعك لا يُنشئ مُوقِّعًا عندما ترفض البوّابة.
  • يمثّل ⁨NextPDF⁩ ويفحص العتبة؛ وهو لا يشغّل السجلات. يُظهِر ⁨NextPDF Enterprise⁩ موقف ⁨CT⁩ وفحص أدنى عدد من ⁨SCT⁩. وهو ليس سجل ⁨CT⁩ ولا مدقّقًا ولا مرقابًا، ولا يقدّم شهادات إلى السجلات.
  • العتبة سياستك. قيمة أدنى عدد من ⁨SCT⁩ لك أن تضبطها؛ ولا يفرض ⁨NextPDF⁩ عددًا. وامتداد ⁨SCT⁩ غائب إخفاق سياسة واضح.
  • بوّب قبل أن توقّع. شغّل الفحص قبل إنشاء المُوقِّع حتى لا تصل شهادة ناقصة التسجيل أبدًا إلى عملية توقيع.
  • تتبع دلالة ⁨SCT⁩ المعايير. ‏⁨SCT⁩ وعدُ سجلٍ تتوقّع الأطراف المعتمِدة حضوره وصلاحيته (⁨RFC 6962 §3⁩؛ بنية ⁨§3.1⁩؛ ⁨CT⁩ الإصدار 2 ⁨RFC 9162 §3⁩).

تتعلّق هذه الصفحة بثقة الشهادات. وكل مصدر معياري مُعاد صياغته؛ ولا يُعاد إنتاج أي نص معياري.

  • لا امتداد ⁨SCT⁩. عامِل نتيجة دون امتداد ⁨SCT⁩ بوصفها إخفاق سياسة؛ ارفض التوقيع.
  • طوابع ⁨SCT⁩ صالحة قليلة جدًّا. عدد ⁨SCT⁩ صالحة دون عتبتك يُخفِق في الفحص؛ ارفض التوقيع.
  • موضع السياسة. شغّل البوّابة قبل إنشاء المُوقِّع؛ والفحص المتأخّر الذي يعمل بعد التوقيع لا يحمي المستند المُنتَج.

توثّق هذه الصفحة السلوك القابل للملاحظة خارجيًّا وسطح ⁨API⁩ العام المدعوم فقط. أما مسارات فضاء الأسماء الداخلية، وأصناف المساعدة، وجداول الآليات، وأسماء ملفات كتيّبات التشغيل، وبادئات التذاكر فخارج النطاق.