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