توضّح هذه المقالة المتطلبات التي يجب أن تستوفيها كل شهادة في سلسلة X.509 حتى تصبح موثوقة للاستخدام مع الرسائل الإلكترونية المشفَّرة أو الموقَّعة باستخدام S/MIME.
بالإضافة إلى هذه المتطلبات، يجب أن يتم تثبيت السلسلة بشهادة مرجع التصديق (CA) التي قد تم الوثوق بها صراحةً من خلال Google لهذا الغرض. يمكنك أيضًا اختيار قبول شهادات الجذر من شهادات CA التي تثق بها. لمزيد من المعلومات، انتقِل إلى إرشادات شهادة الجذر.
ملاحظات:
- توفّر Google قائمة بشهادات CA الموثوق بها وتحتفظ بها أيضًا، ويتم الوثوق بهذه الشهادات من خلال Gmail لـ S/MIME. ويتم الوثوق بهذه القائمة من شهادات CA وفقًا لتقدير Google وحدها. وتحتفظ Google بالحق في إزالة شهادات CA الجذر في أي وقت وبدون إشعار مسبق.
- احرص على عدم تعارض الإضافات المثبّتة مع الإضافات الأخرى في الشهادة ذاتها. على سبيل المثال، في حال تحديد nsCertTypes، يجب أن تشمَل الاستخدامات ذاتها مثل إضافة استخدام المفتاح، وإضافة استخدام المفتاح الموسَّع، وإضافة القيود الأساسية.
قواعد سلسلة الشهادات
مرجع تصديق الجذر
| الحقل | القيمة |
|---|---|
|
الاسم المميَّز لجهة الإصدار |
يجب أن يعرِّف مرجع التصديق. على سبيل المثال، يجب ألا يكون الاسم المميَّز قيمة عامة، مثل "مرجع التصديق". |
|
الاسم المميَّز للموضوع |
يجب أن يتطابق النموذج المُشفَّر على مستوى البايت مع الاسم المميَّز لجهة الإصدار. |
|
معلومات حول شهادة المفتاح العام |
rsaEncryption مع معامل RSA لكلٍ من 2048، أو 3072، أو 4096. أو ecPublicKey باستخدام secp256r1 أو secp384r1. |
شهادات CA الوسيطة بخلاف شهادات CA الوسيطة الصادرة
استخدِم هذه المعلومات عند ظهور أكثر من مرجع تصديق وسيط بين الجذر والكيان النهائي، سواء بشكلٍ مباشر أو غير مباشر.
شهادة CA الوسيطة الصادرة هي شهادة CA الوسيطة التي تُصدر شهادة الكيان النهائي. وينطبق هذا القسم على أي شهادة من شهادات CA الوسيطة في السلسلة، بخلاف إصدار شهادة CA الوسيطة الصادرة.
| الحقل | القيمة | ||
|---|---|---|---|
| الإصدار | الإصدار 3 | ||
| الرقم التسلسلي | يجب أن تكون القيمة أكبر من صفر (0). عند الترميز باستخدام DER كعدد صحيح، يجب أن يكون أقل من أو يساوي 20 بايت. | ||
| خوارزمية التوقيع | RSA مع SHA‐256 أو SHA‐384 أو SHA‐512 أو ECDSA مع SHA‐256 أو SHA‐384 أو SHA‐512 | ||
| الاسم المميَّز لجهة الإصدار |
يجب أن يتطابق على مستوى البايت مع الاسم المميَّز لموضوع مرجع التصديق لإصدار الشهادات. |
||
| مدة الصلاحية | بدون شرط | ||
| الاسم المميَّز للموضوع | بدون شرط | ||
| معلومات حول شهادة المفتاح العام |
rsaEncryption مع معامل RSA لكلٍ من 2048، أو 3072، أو 4096. أو ecPublicKey باستخدام secp256r1 أو secp384r1 |
||
| الإضافة | التواجد | مهم | القيمة |
| استخدام المفتاح | مطلوب | نعم |
يجب تحديد مواضع البت لـ: keyCertSign |
| القيود الأساسية | مطلوب | نعم | يجب تحديد قيمة حقل cA على "True" من المفترَض أن يكون حقل pathLenConstraint متوفرًا |
| نقاط توزيع قائمة الشهادات الباطلة (CRL) | مطلوب | لا |
يجب أن يتوفّر واحد على الأقل من HTTP |
| (ملاحظة) | يجب أن تلتزم خوادم الإبطال بالفقرات التالية من سياسة شهادة المتطلبات الأساسية لإصدار الشهادات الموثوق بها بشكل عام وإدارتها في CA/Browser Forum، الإصدار 1.3.2 أو إصدار أحدث:
|
||
| أي إضافات أخرى | قد تكون متوفّرة | ||
شهادة CA الوسيطة التي تُصدِر الكيان النهائي
ملاحظة مُهمّة: يجب أن تتوفّر شهادة CA متوسطة واحدة على الأقل في السلسلة. بمعنى أنّه يجب ألا يصدر الجذر شهادات المؤسسة النهائية مباشرةً.
| الحقل | القيمة | ||
|---|---|---|---|
| الإصدار | الإصدار 3 | ||
| الرقم التسلسلي | يجب أن يكون أكبر من الصفر (0)، وعند التشفير باستخدام DER كعدد صحيح، يكون أقل من أو يساوي 20 بايت. | ||
| خوارزمية التوقيع |
RSA مع SHA‐256 أو SHA‐384 أو SHA‐512 أو ECDSA مع SHA‐256 أو SHA‐384 أو SHA‐512 |
||
| الاسم المميَّز لجهة الإصدار |
يجب أن يتطابق على مستوى البايت مع الاسم المميَّز لموضوع مرجع التصديق لإصدار الشهادات. |
||
| مدة الصلاحية |
الفرق بين notBefore وnotAfter من المفترض ألا يزيد الفرق عن 10 أعوام، ويجب ألا يزيد عن 20 عامًا. |
||
| الاسم المميَّز للموضوع |
يُفترَض أن يشير إلى استخدام CA. |
||
| معلومات حول شهادة المفتاح العام |
rsaEncryption مع معامل RSA لكلٍ من 2048، أو 3072، أو 4096. أو ecPublicKey باستخدام secp256r1 أو secp384r1 |
||
| الإضافة | التواجد | مهم | القيمة |
| استخدام المفتاح | مطلوب | نعم |
يجب تحديد مواضع البت لـ: يجب عدم تحديد مواضع بت أخرى. |
| استخدام مفتاح موسَّع | مطلوب | أيهما | يجب توفّر: emailProtection يجب عدم توفّر: serverAuth codeSigning timeStamping anyExtendedKeyUsage |
|
القيود الأساسية |
مطلوب | نعم |
يجب تحديد قيمة حقل cA على "True" |
| سياسات الشهادة | اختياري | لا |
يُفترض تقديم policyIdentifier الذي يحدِّد السياسة التي تشغّل CA بموجبها، وينبغي ألا يكون anyPolicy. |
| نقاط توزيع قائمة الشهادات الباطلة (CRL) | مطلوب | لا |
يجب أن يتوفّر واحد على الأقل من HTTP |
| (ملاحظة) |
يجب تشغيل خوادم الإبطال وفقًا للفقرات التالية من سياسة شهادة المتطلبات الأساسية لإصدار الشهادات الموثوق بها بشكل عام وإدارتها في CA/Browser Forum، الإصدار 1.3.2 أو إصدار أحدث:
|
||
| أي إضافات أخرى | اختياري | لا |
قد تكون متوفّرة. |
شهادة الكيان النهائي
| الحقل | القيمة | ||
|---|---|---|---|
| الإصدار | الإصدار 3 | ||
| الرقم التسلسلي |
يجب أن يكون أكبر من الصفر (0)، ويجب أن يحتوى على 64 وحدة بت غير متوقعة على الأقل. ملاحظة: سيتم التحديث لإظهار متطلبات القيمة العشوائية للرقم التسلسلي للكيان النهائي لسياسة شهادة المتطلبات الأساسية في CA/Browser Forum. |
||
| خوارزمية التوقيع | RSA مع SHA‐256 أو SHA‐384 أو SHA‐512 أو ECDSA مع SHA‐256 أو SHA‐384 أو SHA‐512 | ||
| الاسم المميَّز لجهة الإصدار |
يجب أن يتطابق على مستوى البايت مع الاسم المميَّز لموضوع مرجع التصديق لإصدار الشهادات. |
||
| مدة الصلاحية |
يجب ألا يكون الفرق بين notBefore وnotAfter أكبر من 27 شهرًا. يجب أن يمثل وقت notBefore وقت التوقيع مع زيادة أو نقصان بمقدار 48 ساعة. |
||
| الاسم المميَّز للموضوع |
يجب التحقّق بحرص من صحة أي أسماء مميَّزة ذات صلة بالموضوع بخلاف عنوان البريد الإلكتروني قبل الإصدار باستخدام إجراء تم توثيقه وتدقيقه بشكلٍ عام. راجِع الفقرة 3.2.3 "مصادقة الهوية الفردية" من سياسة شهادة المتطلبات الأساسية لإصدار الشهادات الموثوق بها بشكل عام وإدارتها في CA/Browser Forum، الإصدار 1.3.2 أو إصدار برقم أكبر لقبول الإجراء. يجب أيضًا أن تتوفّر أي عناوين بريد إلكتروني (على سبيل المثال، في الحقل commonName أو الحقل emailAddress) في الإضافة "الاسم البديل للموضوع" بصيغة rfc822Name. |
||
| معلومات حول شهادة المفتاح العام |
rsaEncryption مع معامل RSA لكلٍ من 2048، أو 3072، أو 4096. أو ecPublicKey باستخدام secp256r1 أو secp384r1 |
||
| الإضافة | التواجد | مهم | القيمة |
| استخدام المفتاح (RSA) | مطلوب | نعم |
يجب تحديد مواضع البت لـ: يجب عدم تحديد مواضع بت أخرى. |
| استخدام المفتاح (ECDH) | مطلوب |
يجب تحديد مواضع البت لـ: يجب عدم تحديد مواضع بت أخرى. |
|
| استخدام مفتاح موسَّع | مطلوب | أيهما |
يجب توفّر: |
|
القيود الأساسية |
اختياري | أيهما |
يجب عدم تحديد قيمة حقل cA على "true" في حال توفّره |
| سياسات الشهادة | مطلوب | لا |
يجب توفّرها: يجب تقديم policyIdentifier الذي يحدّد السياسة التي تشغّل CA بموجبها، وينبغي ألا يكون anyPolicy. قد تكون متوفّرة: يجب أن يحتوي cps في حال توفّره، على رابط HTTP أو HTTPS صالحًا إلى CPS الذي تم إصدار الشهادة من خلاله. |
|
الوصول إلى معلومات المرجع |
اختياري | لا |
caIssuers، وإن توفّر، يجب أن يحتوي ocsp على HTTP uniformResourceIdentifier واحد على الأقل متاح للجميع. يجب ألا يحتوي AccessDescription على أي تصنيفات أو مَعلمات محدَّدة لشهادة فردية. |
| نقاط توزيع قائمة الشهادات الباطلة (CRL) | مطلوب | لا |
يجب أن يتوفّر واحد على الأقل من |
|
(ملاحظة) |
يجب تشغيل خوادم الإبطال وفقًا للفقرات التالية من سياسة شهادة المتطلبات الأساسية لإصدار الشهادات الموثوق بها بشكل عام وإدارتها في CA/Browser Forum، الإصدار 1.3.2 أو إصدار أحدث:
|
||
|
الاسم البديل للموضوع |
مطلوب | لا |
يجب أن يحتوي على عنصر واحد على الأقل من نوع rfc822Name. |
|
أي إضافات أخرى |
اختياري | لا | قد تكون متوفّرة. |