يتضمّن هذا المستند الأقسام التالية:
للحصول على نظرة عامة أكثر تفصيلاً، يُرجى الاطّلاع على ما هو الغرض من ذلك؟
المصطلحات
في ما يلي، جمعنا قائمة بأهم المصطلحات التي يجب أن تكون على دراية بها في هذا المستند. للحصول على نظرة عامة أكثر شمولاً حول المصطلحات ذات الصلة، يُرجى الاطّلاع على الأسئلة الشائعة حول Google Trust Services.
- شهادة TLS/SSL
- تربط الشهادة مفتاح تشفير بهوية.
- تُستخدَم شهادات TLS/SSL للمصادقة على الاتصالات الآمنة وإنشائها بالمواقع الإلكترونية. تصدر الجهات المعروفة باسم مراجع التصديق الشهادات وتوقّعها بشكل مشفّر.
- تعتمد المتصفحات على الشهادات الصادرة عن هيئات إصدار الشهادات الموثوق بها للتأكّد من أنّ المعلومات المرسَلة يتم إرسالها إلى الخادم الصحيح وأنّها مشفّرة أثناء نقلها.
- طبقة المقابس الآمنة (SSL)
- كانت طبقة المقابس الآمنة هي البروتوكول الأكثر استخدامًا لتشفير الاتصالات على الإنترنت. لم يعُد بروتوكول طبقة المقابس الآمنة آمنًا، ولم يعُد متوافقًا مع خدمات Google.
- بروتوكول أمان طبقة النقل (TLS)
- بروتوكول أمان طبقة النقل هو العنصر اللاحق لطبقة المقابس الآمنة.
- هيئة إصدار الشهادات (CA)
- مرجع التصديق هو بمثابة مكتب جوازات سفر رقمي للأجهزة والأشخاص. ويصدر مستندات (شهادات) محمية بالتشفير لإثبات أنّ الجهة (مثل الموقع الإلكتروني) هي الجهة التي تدّعي أنّها هي.
- قبل إصدار شهادة، تكون هيئات إصدار الشهادات مسؤولة عن التأكّد من أنّ الأسماء الواردة في الشهادة مرتبطة بالشخص أو الجهة التي تطلبها.
- يمكن أن يشير مصطلح "هيئة إصدار الشهادات" إلى كل من المؤسسات، مثل Google Trust Services، وإلى الأنظمة التي تصدر الشهادات.
- البنية التحتية للمفاتيح العامة (PKI)
- بنية المفتاح العام هي مجموعة من التقنيات والسياسات والإجراءات التي تتيح لمرجع التصديق التحقّق من هوية مقدّم طلب الشهادة، وإنشاء شهادة تشهد على عملية التحقّق هذه، كما تتيح لمستخدمي الإنترنت الاعتماد على الشهادة.
- تشفير المفتاح العام هو التكنولوجيا التي تتيح ذلك
- يتم استخدام البنية التحتية للمفتاح العام أيضًا على الشبكات الداخلية، ولكن حالة الاستخدام الأكثر شيوعًا لها هي إتاحة الاتصال المشفّر على الويب. تثق متصفحات الويب في الشهادات الصادرة عن مراجع التصديق المدرَجة في مخزن شهادات الجذر.
- تشفير المفتاح العام
- التشفير بالمفتاح العام هو شكل من أشكال التشفير باستخدام أزواج المفاتيح. يُعدّ أحد المفتاحين عامًا ويمكن توزيعه على نطاق واسع، بينما يُعدّ الآخر خاصًا ويجب الحفاظ على سريته.
- يمكن فك تشفير البيانات المشفّرة باستخدام مفتاح عام من خلال المفتاح الخاص المقابل، والعكس صحيح.
- يتيح ذلك استخدام مفاهيم التوقيعات الرقمية والتشفير باستخدام المفتاح العام، وهي اللبنات الأساسية للبروتوكولات مثل TLS التي يمكن فيها لطرفين المصادقة على بعضهما البعض ومشاركة البيانات المشفّرة بدون تبادل مسبق للمعلومات السرية.
- مخزن شهادات الجذر (أو truststore)
- يحتوي مخزن شهادات الجذر على مجموعة من هيئات إصدار الشهادات الموثوق بها من قِبل مورّد برامج التطبيقات. تتضمّن معظم متصفحات الويب وأنظمة التشغيل متجرًا خاصًا لشهادات الجذر.
- لكي يتم تضمين هيئة إصدار الشهادات في مخزن شهادات الجذر، يجب أن تستوفي الهيئة متطلبات صارمة يحدّدها مورّد برامج التطبيقات.
- تشمل هذه الشهادات عادةً الامتثال للمعايير المتّبعة في المجال، مثل متطلبات منتدى CA/Browser.
- هيئة إصدار شهادات الجذر
- إنّ مرجع تصديق شهادات الجذر (أو شهادته بشكل أكثر دقة) هو الشهادة الأعلى في سلسلة الشهادات.
- عادةً ما تكون شهادات CA الجذر موقَّعة ذاتيًا. يتم تخزين المفاتيح الخاصة المرتبطة بها في مرافق آمنة للغاية، ويتم الاحتفاظ بها في حالة عدم الاتصال بالإنترنت لحمايتها من الوصول غير المصرَّح به.
- مرجع التصديق الوسيط
- مرجع التصديق الوسيط (أو شهادته بشكل أكثر دقة) هو شهادة تُستخدم لتوقيع شهادات أخرى في سلسلة الشهادات.
- تتوفّر هيئات CA الوسيطة بشكل أساسي لإتاحة إصدار الشهادات على الإنترنت مع السماح ببقاء شهادة CA الجذر غير متصلة بالإنترنت.
- تُعرف مراجع التصديق المتوسطة أيضًا باسم مراجع التصديق الفرعية.
- هيئة إصدار الشهادات
- إنّ هيئة إصدار الشهادات، أو بالأحرى شهادتها، هي الشهادة المستخدَمة لتوقيع الشهادة الأدنى في سلسلة الشهادات.
- يُطلق على هذه الشهادة الأخيرة عادةً اسم شهادة المشترك أو شهادة الكيان النهائي أو شهادة الورقة الطرفية. في هذا المستند، سنستخدم أيضًا مصطلح شهادة الخادم.
- سلسلة الشهادات
- ترتبط الشهادات بجهة إصدارها (يتم توقيعها بشكل مشفّر). تتألف سلسلة الشهادات من شهادة نهائية وجميع شهادات الجهة التي أصدرتها وشهادة جذر.
- التوقيع المتبادل
- على عملاء مورّدي برامج التطبيقات تعديل متجر شهادات الجذر ليشمل شهادات هيئة إصدار الشهادات الجديدة لكي تكون منتجاتهم موثوقة. يستغرق الأمر بعض الوقت إلى أن يتم استخدام المنتجات التي تحتوي على شهادات المرجع المصدّق الجديدة على نطاق واسع.
- لزيادة التوافق مع البرامج القديمة، يمكن أن يتم "التوقيع المتبادل" على شهادات مرجع التصديق من خلال مرجع تصديق آخر قديم ومعتمد. يؤدي ذلك إلى إنشاء شهادة مرجع مصدق ثانية للهوية نفسها (الاسم ومفتاحا التشفير).
- استنادًا إلى مراجع التصديق المُدرَجة في مخزن شهادات الجذر، سيُنشئ العملاء سلسلة شهادات مختلفة تصل إلى شهادة جذر يثقون بها.
معلومات عامة
فما معنى هذا؟
الملخّص: إذا لم تتّبع الإرشادات الواردة في https://pki.goog/faq/#connecting-to-google، من المحتمل جدًا أن تواجه انقطاعات متعلقة بالشهادات في المستقبل.
الصورة الشاملة
في عام 2017، بدأت Google مشروعًا متعدد السنوات لإصدار شهادات جذر خاصة بها واستخدامها. هذه الشهادات هي التواقيع المشفرة التي تشكّل أساس أمان الإنترنت المستند إلى بروتوكول أمان طبقة النقل (TLS) والذي يستخدمه بروتوكول HTTPS.
بعد المرحلة الأولى، تم توفير أمان بروتوكول أمان طبقة النقل (TLS) لخدمات "منصة خرائط Google" من خلال GS Root R2، وهي هيئة إصدار شهادات جذر معروفة وموثوقة على نطاق واسع، وقد حصلت عليها Google من GMO GlobalSign لتسهيل عملية الانتقال إلى هيئات إصدار شهادات الجذر الخاصة بنا من Google Trust Services (GTS).
وقد وثقت جميع برامج TLS (مثل متصفحات الويب والهواتف الذكية وخوادم التطبيقات) بهذه الشهادة الجذرية، وبالتالي تمكّنت من إنشاء اتصال آمن بخوادم "منصة خرائط Google" خلال المرحلة الأولى من عملية نقل البيانات.
ومع ذلك، يجب ألا يصدر مرجع التصديق بحكم تصميمه شهادات صالحة بعد وقت انتهاء صلاحية شهادته. بما أنّ شهادة GS Root R2 انتهت صلاحيتها في 15 كانون الأول (ديسمبر) 2021، نقلت Google خدماتها إلى مرجع تصديق جديد، وهو GTS Root R1 Cross، باستخدام شهادة صادرة عن مرجع تصديق الجذر الخاص بـ Google، وهو GTS Root R1.
مع أنّ الغالبية العظمى من أنظمة التشغيل الحديثة ومكتبات بروتوكول أمان طبقة النقل (TLS) للعملاء تثق حاليًا في شهادات CA الجذرية من GTS، فقد حصلت Google أيضًا على توقيع متبادل من GMO GlobalSign باستخدام GlobalSign Root CA - R1، وهي إحدى أقدم شهادات CA الجذرية وأكثرها موثوقية، وذلك لضمان انتقال سلس لمعظم الأنظمة القديمة.
لذلك، من المفترض أنّ معظم عملاء "منصة خرائط Google" يتعرّفون على أيّ من شهادات CA الجذرية الموثوقة (أو كلتيهما)، ومن المفترض أنّهم لم يتأثّروا على الإطلاق بالمرحلة الثانية من عملية نقل البيانات.
ينطبق ذلك أيضًا على العملاء الذين اتّخذوا إجراءً خلال المرحلة الأولى من عملية نقل البيانات في عام 2018، على افتراض أنّهم اتّبعوا تعليماتنا في ذلك الوقت، وثبّتوا جميع الشهادات من حزمة شهادات CA الجذرية الموثوقة من Google، وعليهم التحقّق من توفّر تحديثات لهذا الملف وتحديث مستودع الشهادات الموثوقة مرة واحدة على الأقل كل 6 أشهر.
إذا واجهت مشاكل في الاتصال بخدمات Google Maps Platform، عليك التحقّق من أنظمتك في حال توفّر ما يلي:
- تعمل خدماتك على منصات غير عادية أو قديمة، أو تحتفظ بمخزن شهادات جذرية خاص بك
- لم تتّخذ أي إجراء في الفترة 2017-2018، خلال المرحلة الأولى من عملية نقل بيانات مرجع تصديق الجذر في Google، أو لم تثبِّت المجموعة الكاملة من الشهادات من حزمة مراجع تصديق الجذر الموثوق بها من Google
في حال انطباق ما ورد أعلاه، قد يحتاج عملاؤك إلى تحديث شهادات الجذر الموصى بها لضمان عدم انقطاع استخدام Google Maps Platform خلال هذه المرحلة من عملية نقل البيانات.
يمكنك الاطّلاع على مزيد من التفاصيل الفنية أدناه. للحصول على تعليمات عامة، يُرجى الرجوع إلى القسم كيفية التحقّق مما إذا كان يجب تحديث متجر شهادات الجذر.
ننصحك أيضًا بمواصلة مزامنة مخازن شهادات الجذر مع حزمة شهادات CA الجذر المنسّقة أعلاه لإثبات أنّ خدماتك متوافقة مع أي تغييرات مستقبلية في شهادات CA الجذر. ومع ذلك، سيتم الإعلان عن هذه التغييرات مسبقًا. راجِع القسمَين كيف يمكنني الحصول على آخر الأخبار حول مرحلة الترحيل هذه؟ و كيف يمكنني الحصول على إشعار مُسبَق بعمليات الترحيل المستقبلية؟ للحصول على مزيد من التعليمات حول كيفية البقاء على اطّلاع بآخر الأخبار.
الملخّص الفني
كما أعلنّا في 15 آذار (مارس) 2021 على مدونة أمان Google، انتهت صلاحية GS Root R2، وهي شهادة CA الجذرية التي استخدمتها "منصة خرائط Google" منذ أوائل عام 2018، في 15 كانون الأول (ديسمبر) 2021. وبالتالي، سيتم نقل البيانات إلى مرجع تصديق GTS Root R1 Cross جديد.
تمّت مسبقًا تهيئة جميع أنظمة وعملاء بروتوكول أمان طبقة النقل (TLS) الحديثة تقريبًا باستخدام شهادة GTS Root R1، أو من المفترض أن يتم تلقّيها من خلال تحديثات البرامج العادية، ومن المفترض أن تتوفّر شهادة GlobalSign Root CA - R1 حتى على الأنظمة القديمة.
ومع ذلك، عليك التحقّق من أنظمتك على الأقل إذا انطبقت النقطتان التاليتان:
- تعمل خدماتك على منصات غير عادية أو قديمة، أو تحتفظ بمخزن شهادات جذرية خاص بك
- لم تتّخذ أي إجراء في الفترة 2017-2018، خلال المرحلة الأولى من عملية نقل بيانات مرجع تصديق الجذر في Google، أو لم تثبِّت المجموعة الكاملة من الشهادات من حزمة مراجع تصديق الجذر الموثوق بها من Google
تقدّم المقالة كيفية التحقّق مما إذا كان متجر شهادات الجذر يحتاج إلى تحديث إرشادات لاختبار ما إذا كان نظامك سيتأثر.
راجِع السؤال لماذا يجب أن أحرص على مزامنة مخزن شهادات الجذر مع حزمة شهادات CA الجذر الموثوقة من Google؟ للاطّلاع على التفاصيل الكاملة.
كيف يمكنني الحصول على آخر الأخبار حول مرحلة نقل البيانات هذه؟
يمكنك وضع إشارة نجمة على المشكلة العامة 186840968 لتلقّي آخر الأخبار. يتم أيضًا تعديل الأسئلة الشائعة هذه خلال عملية نقل البيانات، وذلك كلما صادفنا مواضيع قد تهمّ المستخدمين بشكل عام.
كيف يمكنني تلقّي إشعار مُسبَق بعمليات النقل المستقبلية؟
سيتم الإعلان عن شهادات الجذر الجديدة على الرابط https://pki.goog/updates/، ويمكنك الاشتراك في خلاصة RSS لتلقّي إشعارات بالتحديثات. نعلن فقط عن الجذور الجديدة. لا يتم الإعلان عن تغييرات سلسلة الشهادات التي تنتقل بين الشهادات الجذرية القديمة، وقد تحدث في أي وقت. يجب عدم التثبيت على شهادة جذر أو شهادة وسيطة واحدة، ويجب الوثوق بمجموعة شهادات الجذر الكاملة من Google الموضّحة في https://pki.goog/faq/#connecting-to-google إذا كنت تريد ضمان اتصالات موثوقة بخدمات Google.
ننصحك بمتابعة مدونة أمان Google. سنحرص أيضًا على تعديل المستندات الخاصة بالمنتجات في أقرب وقت ممكن بعد الإعلان العام على المدونة.
يمكنك أيضًا الاشتراك في إشعارات Google Maps Platform ، لأنّنا ننشر بانتظام آخر الأخبار في المنتدى بشأن التغييرات التي من المحتمل أن تؤثّر في عدد أكبر من العملاء.
نستخدم عدة خدمات من Google. هل ستؤثّر عملية نقل بيانات شهادة CA الجذر على جميع هذه الشهادات؟
نعم، سيتم نقل بيانات شهادة CA الجذرية في جميع خدمات Google وواجهات برمجة التطبيقات، ولكن قد يختلف المخطط الزمني لكل خدمة. ومع ذلك، بعد التأكّد من أنّ مخازن شهادات الجذر المستخدَمة من قِبل تطبيقات عميل Google Maps Platform تتضمّن جميع مراجع التصديق المُدرَجة في حزمة مراجع التصديق الجذرية الموثوق بها من Google، لن تتأثّر خدماتك بعملية نقل البيانات الجارية، كما أنّ الحفاظ على مزامنة هذه المخازن (مرة واحدة على الأقل كل 6 أشهر) سيحميك أيضًا من أي تغييرات مستقبلية في مراجع التصديق الجذرية.
يمكنك الاطّلاع على السؤالين لماذا يجب أن أحرص على مزامنة متجر شهادات الجذر مع حزمة شهادات مرجع التصديق الجذرية الموثوقة من Google؟ و ما هي أنواع التطبيقات المعرَّضة لخطر التعطُّل؟ للحصول على مزيد من المعلومات.
توضّح كيفية التحقّق مما إذا كان يجب تحديث متجر شهادات الجذر في ما يلي أيضًا تعليمات عامة لاختبار نظامك.
كيفية التحقّق مما إذا كان يجب تحديث مستودع شهادات الجذر
اختبِر بيئة تطبيقك مقارنةً بجميع الشهادات الجذرية في قسم "شهادات CA الجذرية" (Root CAs) من https://pki.goog/repository/.
سيكون نظامك متوافقًا بشكل عام مع تغييرات شهادات المرجع المصدّق الجذر إذا:
- تعمل خدمتك على نظام تشغيل سائد يتم صيانته، وقد حافظت على تحديث نظام التشغيل والمكتبات التي تستخدمها خدمتك، ولا تحتفظ بمخزن شهادات الجذر الخاص بك، أو:
- اتّباع توصياتنا السابقة وتثبيت جميع مراجع التصديق الجذر من حزمة مراجع التصديق الجذر الموثوق بها من Google ومواصلة تعديل مستودع الشهادات الموثوق بها بانتظام
على العملاء الذين قد يتأثرون بهذا التغيير تثبيت الشهادات فورًا من حزمة شهادات CA الجذرية الموثوق بها من Google لتجنُّب انقطاع الخدمة في المستقبل.
راجِع السؤال لماذا يجب أن أحرص على مزامنة مخزن شهادات الجذر مع حزمة شهادات CA الجذر الموثوقة من Google؟ للاطّلاع على التفاصيل الكاملة.
هل هناك أداة يمكنني استخدامها للتحقّق من متجر شهادات الجذر؟
قد تجد أداتَي سطر الأوامر curl
وopenssl
مفيدتَين في عمليات التحقيق. يتوفّر كلا الخيارين على معظم المنصات، ويقدّمان خيارات شاملة لاختبار عملية الإعداد.
للحصول على تعليمات حول تثبيت curl
، راجِع القسم الحصول على curl أدناه.
إنّ أوامر openssl
الموضّحة أدناه مخصّصة للإصدار 1.1.1 أو الإصدارات الأحدث.
لم يعُد بالإمكان استخدام الإصدارات الأقدم من 1.1.1. إذا كنت تستخدم إصدارًا أقدم،
عليك ترقية هذه الأوامر أو تعديلها حسب الحاجة بما يتوافق مع إصدارك. للحصول على تعليمات حول الحصول على openssl
، راجِع القسم الحصول على OpenSSL أدناه.
ستجد أيضًا أدوات مفيدة أخرى ضمن القسم أين يمكنني الحصول على الأدوات التي أحتاج إليها؟ أدناه.
للحصول على تعليمات اختبار ملموسة، اطّلِع على مقالة كيفية التحقّق مما إذا كان يجب تحديث متجر شهادات الجذر.
اختبار مخزن شهادات الجذر التلقائي
هذا المثال مخصّص لإصدار GTS R1، ويجب إجراء الاختبار على جميع شهادات الجذر GTS.
curl -vvI https://maps.googleapis.com; \
openssl s_client -connect maps.googleapis.com:443 -showcerts </dev/null; \
curl -vvI https://good.gtsr1.demosite.pki.goog/; \
openssl s_client -connect good.gtsr1.demosite.pki.goog:443 -showcerts </dev/null; \
curl -vvI https://good.gtsr1x.demosite.pki.goog/; \
openssl s_client -connect good.gtsr1x.demosite.pki.goog:443 -showcerts </dev/null;
التحقّق من حزمة مراجع التصديق الجذر الموثوق بها من Google
نزِّل حزمة مراجع التصديق الجذر الموثوق بها من Google، ثم اتّبِع الخطوات التالية:
curl -vvI --cacert roots.pem https://maps.googleapis.com; \
openssl s_client -CAfile roots.pem -connect maps.googleapis.com:443 -showcerts </dev/null; \
كيف ومتى ستستمر عملية نقل بيانات مرجع التصديق الجذر لعام 2017 من Google؟
- بدأت المرحلة الأولى (الانتقال إلى GS Root R2)، التي تم الإعلان عنها في كانون الثاني (يناير) 2017، في أواخر عام 2017 واكتملت في النصف الأول من عام 2018.
- تم الإعلان عن المرحلة الثانية (الانتقال إلى شهادة الجذر GTS Root R1 Cross) في مارس 2021، وتم طرحها في الأشهر التي سبقت انتهاء صلاحية شهادة الجذر GS Root R2 في 15 ديسمبر 2021.
سيتم الإعلان عن جداول زمنية للجذور الجديدة قبل وقت كافٍ من انتهاء صلاحية الشهادات المستقبلية، ولكن لن يتم الإعلان عن عمليات الانتقال بين الجذور الحالية.
يمكنك ضمان توافق تطبيقاتك مع التغييرات المستقبلية من خلال الحفاظ على مزامنة متجر شهادات الجذر مع القائمة المنسّقة لمراجع التصديق الجذرية في حزمة مراجع التصديق الجذرية الموثوق بها من Google.
يمكنك أيضًا الاطّلاع على السؤال لماذا يجب أن أحرص على مزامنة ملف تخزين شهادات الجذر مع حزمة شهادات مرجع التصديق الجذرية الموثوقة من Google؟ للحصول على مزيد من المعلومات الأساسية.
خطة الطرح العامة لكل خدمة من خدمات Google
- يبدأ الطرح على مراحل في مركز بيانات واحد.
- ويتم توسيع نطاق الطرح تدريجيًا ليشمل المزيد من مراكز البيانات إلى أن يصبح متاحًا في جميع أنحاء العالم.
- إذا تم رصد مشاكل خطيرة في أي مرحلة، يمكن التراجع عن الاختبارات مؤقتًا إلى حين حلّ المشاكل.
- استنادًا إلى الملاحظات الواردة من الإصدارات السابقة، سيتم تضمين المزيد من خدمات Google في عملية الطرح إلى أن يتم نقل جميع خدمات Google تدريجيًا إلى الشهادات الجديدة.
مَن سيتأثر بذلك ومتى وأين؟
سيبدأ عدد متزايد من مطوّري "منصة خرائط Google" في تلقّي الشهادات الجديدة مع نقل المزيد من مراكز البيانات. ستكون التغييرات محلية إلى حدّ ما، لأنّ طلبات العملاء يتم توجيهها عادةً إلى الخوادم في مراكز البيانات القريبة جغرافيًا.
بما أنّه لا يمكننا تحديد الجهات المتأثرة وموعد تأثّرها ومكانه مسبقًا، ننصح جميع عملائنا بإثبات ملكية خدماتهم وتجهيزها مسبقًا قبل المراحل المحتملة لنقل البيانات إلى مرجع تصديق جذر Google.
يمكنك الاطّلاع على كيفية التحقّق مما إذا كان يجب تحديث مستودع شهادات الجذر للحصول على إرشادات إضافية.
أمور يجب الانتباه إليها
لن يتمكّن العملاء الذين لم يتم ضبطهم باستخدام شهادة الجذر اللازمة من التحقّق من اتصال طبقة النقل الآمنة (TLS) بمنصة Google Maps. في هذه الحالة، سيصدر العملاء عادةً تحذيرًا بأنّه تعذّر التحقّق من صحة الشهادة.
استنادًا إلى إعدادات بروتوكول أمان النقل (TLS)، قد يواصل العملاء إصدار طلب إلى "منصة خرائط Google"، أو قد يرفضون مواصلة الطلب.
ما هو الحدّ الأدنى من المتطلبات التي يجب أن يستوفيها عميل TLS للتواصل مع Google Maps Platform؟
تستخدم شهادات Google Maps Platform الأسماء البديلة للموضوع (SAN) في نظام أسماء النطاقات، لذا يجب أن تكون معالجة الشهادات في التطبيق قادرة على التعامل مع الأسماء البديلة للموضوع التي قد تتضمّن حرف بدل واحدًا كالتصنيف الأيسر في الاسم، مثل *.googleapis.com
.
مع أنّ الإصدارَين القديمَين 1.0 و1.1 من بروتوكول أمان طبقة النقل (TLS) لا يزالان متاحَين، ننصح بعدم استخدامهما، ونوصي باستخدام الإصدار 1.3 من البروتوكول إذا أمكن.
للاطّلاع على المتطلبات والتوصيات الأخرى، يُرجى الرجوع إلى القسمَين ما هي المتطلبات المقترَحة لكي يتواصل برنامج TLS مع Google؟ و لماذا لا تزال العديد من "خدمات Google" تسمح بالاتصالات باستخدام الإصدارَين 1.0 و1.1 من بروتوكول أمان طبقة النقل؟ في الأسئلة الشائعة حول GTS.
ما هي أنواع التطبيقات المعرَّضة للتوقّف عن العمل؟
يستخدم التطبيق متجر شهادات الجذر للنظام بدون أي قيود يفرضها المطوّر.
تطبيقات خدمة الويب في Google Maps Platform
إذا كنت تستخدم نظام تشغيل شائعًا لا يزال يتم صيانته ويتلقّى تحديثات منتظمة، من المفترض أن يتضمّن مخزن شهادات الجذر التلقائي شهادات GTS Root.
إذا كنت تستخدم إصدارًا قديمًا من نظام التشغيل لم يعُد يتلقّى تحديثات، قد تتوفّر لديك شهادات الجذر من Google Trust Services أو لا تتوفّر. ومع ذلك، من المرجّح أن يحتوي مخزن شهادات الجذر على GlobalSign Root CA - R1، وهو أحد أقدم مراجع التصديق الجذرية وأكثرها موثوقية ويتم استخدامه للتوقيع المتبادل على جذور GTS عند الحاجة.
بالنسبة إلى تطبيقات الأجهزة الجوّالة التي تستدعي خدمات الويب في "منصة خرائط Google" مباشرةً من جهاز المستخدم النهائي، تنطبق الإرشادات الواردة في السؤال هل هناك خطر من توقّف تطبيقات الأجهزة الجوّالة عن العمل؟.
تطبيقات "منصة خرائط Google" من جهة العميل
تعتمد تطبيقات Maps JavaScript API بشكل عام على شهادات الجذر الخاصة بمتصفّح الويب الذي يشغّل التطبيق. لمزيد من التفاصيل، اطّلِع على القسم هل تطبيقات JavaScript معرّضة لخطر التعطّل؟.
بالنسبة إلى تطبيقات الأجهزة الجوّالة التي تستخدم أيًا من حِزم تطوير البرامج (SDK) التالية: Maps SDK for Android أو Maps SDK for iOS أو Places SDK for Android أو Places SDK for iOS، تنطبق القواعد نفسها كما هو الحال مع التطبيقات التي تستدعي خدمات الويب في "منصة خرائط Google".
راجِع السؤال هل هناك خطر من توقّف التطبيقات المتوافقة مع الأجهزة الجوَّالة عن العمل؟ للحصول على مزيد من التفاصيل.
يستخدم التطبيق حزمة الشهادات الخاصة به أو ميزات الأمان المتقدّمة، مثل تثبيت الشهادات
عليك التأكّد من تعديل حزمة الشهادات بنفسك. كما هو موضّح في السؤال لماذا يجب أن أحرص على مزامنة مكان تخزين شهادات الجذر مع حزمة شهادات الجذر الموثوقة من Google؟، ننصحك باستيراد جميع الشهادات من حزمة شهادات الجذر الموثوقة من Google إلى مكان تخزين شهادات الجذر الخاص بك وتعديل مكان تخزين الشهادات بانتظام.
لا تنصح Google بتثبيت الشهادات أو المفاتيح العامة لنطاقات Google التي يتصل بها تطبيقك. إذا ثبّت إصدارًا، ستكون أكثر عرضة لحدوث أعطال.
لمزيد من المعلومات حول تثبيت الشهادات أو المفاتيح العامة، يُرجى الرجوع إلى المراجع الخارجية المدرَجة ضمن السؤال هل تحتاج إلى مزيد من المعلومات؟.
لماذا يجب أن أحرص على مزامنة مخزن شهادات الجذر مع حزمة شهادات CA الجذرية الموثوقة من Google؟
تتضمّن القائمة المنسّقة لمراجع التصديق الجذرية في حزمة مراجع التصديق الجذرية الموثوق بها من Google جميع مراجع التصديق التي يمكن أن تستخدمها خدمات Google في المستقبل المنظور.
لذلك، إذا أردت أن يكون نظامك متوافقًا مع التغييرات المستقبلية، ننصحك بشدة بالتأكّد من أنّ مستودع شهاداتك الجذرية يحتوي على جميع الشهادات من الحزمة، والحرص على مزامنة المستودع والحزمة مرة واحدة على الأقل كل 6 أشهر.
ويكون ذلك مهمًا بشكل خاص إذا كانت خدماتك تعمل على إصدار غير مُحدَّث من نظام التشغيل، أو إذا كنت غير قادر على تحديث نظام التشغيل والمكتبات لأسباب أخرى، أو إذا كنت تحتفظ بمخزن شهادات الجذر الخاص بك.
راجِع السؤال كيف يمكنني الحصول على إشعار مُسبَق بعمليات نقل البيانات المستقبلية؟ لمعرفة كيفية الحصول على آخر الأخبار حول عمليات نقل البيانات المستقبلية لشهادات CA الجذر. إنّ المزامنة المنتظمة لمخزن شهادات الجذر مع القائمة المنسّقة ستساعد في حماية خدماتك من أي انقطاعات مستقبلية بسبب تغييرات في مرجع التصديق، كما ستضمن استمرار عمل خدماتك بعد انتهاء صلاحية كل من شهادة GTS Root R1 Cross وشهادة GlobalSign Root CA - R1.
يمكنك أيضًا الرجوع إلى السؤال أعمل على إنشاء منتج يتصل بخدمات Google. ما هي شهادات مرجع التصديق التي يجب الوثوق بها؟ يمكنك الاطّلاع على الأسئلة الشائعة حول GTS للحصول على مزيد من الاقتراحات.
لماذا يجب عدم تثبيت أي شهادات CA متوسطة أو نهائية؟
سيؤدي ذلك إلى خطر تعطُّل تطبيقك في أي وقت نسجّل فيه شهادة جديدة أو نغيّر شهادات CA الوسيطة. قد يحدث أيّ من هذين الإجراءين في أي وقت وبدون أي إشعار مسبق، وينطبق ذلك بالتساوي على شهادات الخادم الفردية، مثل تلك التي تقدّمها maps.googleapis.com
، بالإضافة إلى أي من مراجع التصديق الوسيطة، مثل GTS Root R1 Cross.
لحماية خدماتك من ذلك، عليك فقط تثبيت شهادات الجذر من حزمة مراجع التصديق الجذرية الموثوق بها من Google، والاعتماد على شهادة الجذر وحدها للتحقّق من موثوقية سلسلة الشهادات الكاملة المرتبطة بها.
يجب أن يكون أي تنفيذ حديث لمكتبة بروتوكول أمان طبقة النقل (TLS) قادرًا على التحقّق تلقائيًا من سلاسل الثقة هذه، طالما أنّ مرجع التصديق الجذر موثوق به.
هل تطبيقات JavaScript معرَّضة للتوقّف عن العمل؟
إنّ شهادات GTS الجذرية مضمّنة بشكل جيد وموثوق بها من قِبل معظم المتصفحات الحديثة، ومن المفترض أن يضمن التوقيع المتبادل من GlobalSign عملية نقل سلسة حتى بالنسبة إلى معظم المستخدمين النهائيين على المتصفحات القديمة. ويشمل ذلك جميع المتصفّحات المتوافقة مع Maps JavaScript API.
يجب أن يسمح كل متصفّح حديث للمستخدمين النهائيين بالتحقّق من الشهادات التي يثق بها المتصفّح وتعديلها عادةً. على الرغم من أنّ الموقع الجغرافي الدقيق يختلف حسب المتصفّح، يمكن عادةً العثور على قائمة الشهادات في مكان ما ضمن الإعدادات.
هل تطبيقات الأجهزة الجوّالة معرَّضة للتوقّف عن العمل؟
من المتوقّع أيضًا أن تكون أجهزة Android وApple iOS التي لا تزال تتلقّى تحديثات منتظمة من الشركة المصنّعة للجهاز متوافقة مع التكنولوجيا المستقبلية. تتضمّن معظم طُرز هواتف Android القديمة شهادة مرجع تصديق GlobalSign Root CA - R1 على الأقل، على الرغم من أنّ قائمة الشهادات الموثوق بها قد تختلف حسب الشركة المصنّعة للهاتف وطراز الجهاز وإصدار Android.
ومع ذلك، قد يظل الدعم لشهادات CA الجذرية من GTS، بما في ذلك GTS Root R1، محدودًا في إصدارات Android الأقدم من الإصدار 10.
بالنسبة إلى أجهزة iOS، تحتفظ Apple بقائمة بجهات إصدار الشهادات الجذرية الموثوق بها لكل إصدار حديث من iOS على صفحات الدعم الخاصة بها. ومع ذلك، تتوافق جميع إصدارات iOS 5 والإصدارات الأحدث مع شهادة CA للجذر GlobalSign - R1.
تتوفّر مراجع التصديق الجذرية من GTS، بما في ذلك GTS Root R1، منذ الإصدار 12.1.3 من نظام التشغيل iOS.
راجِع السؤال كيف يمكنني التحقّق من شهادات الجذر الموثوق بها على هاتفي الجوّال؟ لمزيد من التفاصيل.
متى سيتضمّن المتصفّح أو نظام التشغيل شهادات الجذر من Google Trust Services؟
على مدار السنوات الماضية، عملت Google بشكل مكثّف مع جميع الجهات الخارجية الرئيسية التي تحتفظ بحِزم شهادات جذرية موثوقة ومستخدَمة على نطاق واسع. وتشمل الأمثلة على ذلك الشركات المصنّعة لأنظمة التشغيل، مثل Apple وMicrosoft، بالإضافة إلى فِرق Android وChromeOS التابعة لشركة Google، ومطوّري المتصفحات، مثل Mozilla وApple وMicrosoft، بالإضافة إلى فريق Chrome التابع لشركة Google، والشركات المصنّعة للأجهزة، مثل الهواتف وأجهزة فك التشفير وأجهزة التلفزيون ووحدات التحكّم في الألعاب والطابعات، على سبيل المثال لا الحصر.
لذلك، من المرجّح جدًا أنّ أي نظام تتم صيانته بشكل نشط يتوافق حاليًا مع مراجع التصديق الجذرية الخاصة بـ GTS، ومن المرجّح أيضًا أنّ الأنظمة القديمة تتوافق مع مرجع التصديق الجذري GlobalSign - R1، والذي سيتم استخدامه للتوقيع المتبادل على العديد من الشهادات الصادرة عن Google خلال السنوات القادمة.
ومع ذلك، بما أنّ المخططات الزمنية لتضمين الشهادات التابعة لجهات خارجية لا تخضع إلى حد كبير لتحكّم Google، فإنّ أفضل نصيحة عامة يمكننا تقديمها هي التأكّد من تثبيت تحديثات النظام المتاحة بانتظام.
قد تكون جهات خارجية، مثل برنامج شهادات هيئة إصدار الشهادات من Mozilla، قد وثّقت الجداول الزمنية الخاصة بإدراج الشهادات.
تحديد المشاكل وحلّها
أين يمكنني الحصول على الأدوات التي أحتاجها؟
الحصول على تجعيد
إذا لم يكن توزيع نظام التشغيل يتضمّن curl
، يمكنك تنزيله من https://curl.haxx.se/. يمكنك إما تنزيل المصدر وتجميع الأداة بنفسك أو تنزيل ملف ثنائي مجمّع مسبقًا، إذا كان متاحًا لمنصتك.
الحصول على OpenSSL
إذا لم يكن توزيع نظام التشغيل يوفّر openssl
، يمكنك تنزيل المصدر من https://www.openssl.org/ وتجميع الأداة. يمكن العثور على قائمة بالملفات الثنائية التي أنشأتها جهات خارجية باستخدام
https://www.openssl.org/community/binaries.html.
ومع ذلك، لا يقدّم فريق OpenSSL الدعم لأي من هذه الإصدارات أو يوافق عليها بأي طريقة محددة.
الحصول على Wireshark أو Tshark أو Tcpdump
على الرغم من أنّ معظم توزيعات Linux توفّر wireshark
، إلا أنّ أداة سطر الأوامر tshark
وtcpdump
، وهما إصداران مسبقا التجميع من الأداة الأولى والثانية لأنظمة تشغيل أخرى، يمكن العثور عليهما على https://www.wireshark.org.
يمكن العثور على الرمز المصدر لكل من Tcpdump وLibPCAP على https://www.tcpdump.org.
يمكن العثور على مستندات هذه الأدوات المفيدة في دليل مستخدم Wireshark وصفحة الدليل الخاصة بأداة Tshark وصفحة الدليل الخاصة بأداة Tcpdump.
الحصول على أداة Keytool في Java
يجب أن يتم توفير أداة سطر الأوامر keytool
مع كل إصدار من حزمة تطوير Java (JDK) أو بيئة وقت تشغيل Java (JRE). يجب تثبيت هذه الحزم للحصول على keytool.
، ولكن من غير المرجّح أن يكون استخدام keytool
ضروريًا للتحقّق من شهادة الجذر، إلا إذا تم إنشاء تطبيقك باستخدام Java.
ما يجب فعله في حال حدوث انقطاع في الإنتاج
الإجراء الأساسي الذي عليك اتّخاذه هو تثبيت شهادات الجذر المطلوبة من حزمة مراجع التصديق الجذرية الموثوق بها من Google في مخزن شهادات الجذر الذي يستخدمه تطبيقك.
- تعاوَن مع مشرفي النظام لترقية متجر شهادات الجذر المحلي.
- راجِع الأسئلة الشائعة للحصول على مؤشرات تنطبق على نظامك.
- إذا كنت بحاجة إلى مزيد من المساعدة بشأن النظام الأساسي أو النظام، يُرجى التواصل مع قنوات الدعم الفني التي يوفّرها مقدّم النظام.
- للحصول على مساعدة عامة، يُرجى التواصل مع فريق الدعم لدينا، كما هو موضّح في القسم التواصل مع فريق دعم "منصة خرائط Google". ملاحظة: بالنسبة إلى المشاكل الخاصة بمنصة معيّنة، لا يتم تقديم الإرشادات إلا على أساس بذل أفضل جهد.
يُرجى وضع نجمة على المشكلة العامة 186840968 للاطّلاع على المزيد من الأخبار المتعلقة بنقل البيانات.
التواصل مع فريق الدعم في Google Maps Platform
الخطوات الأولى لتحديد المشاكل وحلّها
راجِع القسم كيفية التحقّق مما إذا كان يجب تحديث متجر شهادات الجذر للحصول على تعليمات عامة لتحديد المشاكل وحلّها.
قد يقدّم القسم إدارة الشهادات الموثوق بها معلومات مفيدة أيضًا، إذا كنت بحاجة إلى استيراد شهادات الجذر أو تصديرها.
إذا لم يتم حلّ المشكلة وقرّرت التواصل مع فريق الدعم في "منصة خرائط Google"، عليك أيضًا تقديم المعلومات التالية:
- ما هو الموقع الجغرافي للخوادم المتأثّرة؟
- ما هي عناوين IP التي تستخدمها خدمتك من Google؟
- ما هي واجهات برمجة التطبيقات المتأثرة بهذه المشكلة؟
- متى بدأت المشكلة بالتحديد؟
نتائج الأوامر التالية:
curl -vvI https://maps.googleapis.com; \ openssl s_client -connect maps.googleapis.com:443 -showcerts </dev/null; \ curl -vvI https://good.gtsr1.demosite.pki.goog/; \ openssl s_client -connect good.gtsr1.demosite.pki.goog:443 -showcerts </dev/null; \ curl -vvI https://good.gtsr1x.demosite.pki.goog/; \ openssl s_client -connect good.gtsr1x.demosite.pki.goog:443 -showcerts </dev/null; curl -vvI https://good.gtsr2.demosite.pki.goog/; \ openssl s_client -connect good.gtsr2.demosite.pki.goog:443 -showcerts </dev/null; \ curl -vvI https://good.gtsr3.demosite.pki.goog/; \ openssl s_client -connect good.gtsr3.demosite.pki.goog:443 -showcerts </dev/null; \ curl -vvI https://good.gtsr4.demosite.pki.goog/; \ openssl s_client -connect good.gtsr4.demosite.pki.goog:443 -showcerts </dev/null; \
للحصول على تعليمات حول كيفية الحصول على الأدوات المطلوبة، يُرجى الاطّلاع على السؤال أين يمكنني الحصول على الأدوات التي أحتاجها؟.
تقديم طلب الحصول على الدعم
اتّبِع التعليمات الواردة في إنشاء طلب للحصول على الدعم ضمن الدعم والموارد في "منصة خرائط Google".
عند تقديم طلب الحصول على الدعم، يُرجى تقديم المعلومات التالية بالإضافة إلى البيانات المدرَجة في القسم تحديد المشاكل وحلّها في البداية:
- ما هي عناوين IP المتاحة للجميع؟
- ما هو عنوان IP العام لخادم نظام أسماء النطاقات (DNS)؟
- إذا أمكن، يجب توفير عملية تسجيل لحزمة tcpdump أو Wireshark لعملية التفاوض غير الناجحة بشأن TLS مع
https://maps.googleapis.com/
بتنسيق PCAP، وذلك باستخدام طول لقطة كبير بما يكفي لتسجيل الحزمة بأكملها بدون اقتطاعها (على سبيل المثال، باستخدام-s0
في الإصدارات السابقة منtcpdump
). - إذا أمكن، يجب تضمين مقتطفات من سجلات خدمتك تعرض السبب الدقيق لتعذُّر الاتصال عبر بروتوكول أمان طبقة النقل (TLS)، ويُفضّل أن تتضمّن هذه المقتطفات معلومات كاملة عن سلسلة شهادات الخادم.
للحصول على تعليمات حول كيفية الحصول على الأدوات المطلوبة، يُرجى الاطّلاع على السؤال أين يمكنني الحصول على الأدوات التي أحتاجها؟.
نشر مشاركة بشأن المشكلة العامة 186840968
عند نشر تعليق على المشكلة العلنية 186840968، يُرجى تضمين المعلومات الواردة في القسم تحديد المشاكل وحلّها في البداية.
كيف يمكنني تحديد العنوان العام لنظام أسماء النطاقات (DNS)؟
على نظام التشغيل Linux، يمكنك تنفيذ الأمر التالي:
dig -t txt o-o.myaddr.l.google.com
في نظام التشغيل Windows، يمكنك استخدام nslookup في وضع تفاعلي:
C:\> nslookup -
set type=TXT
o-o.myaddr.l.google.com
كيفية تفسير نتائج curl
يؤدي تنفيذ curl
باستخدام العلامات -vvI
إلى توفير الكثير من المعلومات المفيدة. في ما يلي بعض التعليمات لتفسير النتائج:
- تعرض الأسطر التي تبدأ بـ "
*
" الناتج من عملية التفاوض بشأن TLS، بالإضافة إلى معلومات إنهاء الاتصال. - تعرض الأسطر التي تبدأ بـ "
>
" طلب HTTP الصادر الذي ترسلهcurl
. - تعرض الأسطر التي تبدأ بـ "
<
" استجابة HTTP التي تتلقّاها من الخادم. - إذا كان البروتوكول هو HTTPS، يشير توفّر السطرين '
>
' أو '<
' إلى إتمام عملية المصافحة عبر بروتوكول أمان طبقة النقل بنجاح.
مكتبة TLS وحزمة الشهادات الجذرية المستخدَمة
يؤدي تشغيل curl
مع العلامات -vvI
إلى طباعة متجر شهادات الجذر المستخدَمة أيضًا، ولكن قد تختلف النتيجة الدقيقة حسب النظام كما هو موضّح هنا.
قد يتضمّن الناتج من جهاز Red Hat Linux الذي تم ربط curl
به مقابل NSS
الأسطر التالية:
* Initializing NSS with certpath: sql:/etc/pki/nssdb
* CAfile: /etc/pki/tls/certs/ca-bundle.crt
CApath: none
قد تتضمّن المخرجات من جهاز Ubuntu أو Debian Linux الأسطر التالية:
* successfully set certificate verify locations:
* CAfile: none
CApath: /etc/ssl/certs
قد يتضمّن الناتج من جهاز Ubuntu أو Debian Linux باستخدام ملف PEM لشهادة الجذر من Google الذي تم تقديمه باستخدام العلامة --cacert
الأسطر التالية:
* successfully set certificate verify locations:
* CAfile: /home/<user>/Downloads/roots.pem
CApath: /etc/ssl/certs
وكيل المستخدم
تحتوي الطلبات الصادرة على عنوان User-Agent، الذي قد يوفّر معلومات مفيدة حول curl
ونظامك.
في ما يلي مثال من جهاز يعمل بنظام التشغيل Red Hat Linux:
> HEAD / HTTP/1.1
> User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.27.1 zlib/1.2.3 libidn/1.18 libssh1/1.4.2
> Host: maps.googleapis.com
> Accept: */*
>
تعذُّر تأكيد الاتصال من خلال بروتوكول أمان طبقة النقل (TLS)
تشير الأسطر، مثل تلك الواردة في عينة الرمز البرمجي هذه، إلى أنّه تم إنهاء الاتصال في منتصف عملية المصافحة عبر بروتوكول أمان طبقة النقل (TLS) بسبب شهادة خادم غير موثوق بها. ويُعد عدم ظهور ناتج تصحيح الأخطاء الذي يبدأ بـ >
أو <
من المؤشرات القوية على عدم نجاح محاولة الاتصال:
*** SSLv3, TLS alert, Server hello (2):
* SSL certificate problem: unable to get local issuer certificate
* Closing connection 0**
تأكيد اتصال ناجح عبر بروتوكول أمان طبقة النقل (TLS)
يُشار إلى عملية المصافحة الناجحة لبروتوكول أمان النقل (TLS) من خلال توفّر أسطر مشابهة لتلك الواردة في عينة الرمز البرمجي هذه. يجب إدراج مجموعة التشفير المستخدَمة للاتصال المشفّر، بالإضافة إلى تفاصيل شهادة الخادم المقبولة. بالإضافة إلى ذلك، يشير وجود أسطر تبدأ بـ >
أو
<
إلى أنّه يتم نقل زيارات HTTP الخاصة بالحِمل النافع بنجاح
عبر اتصال مشفّر باستخدام بروتوكول أمان طبقة النقل (TLS):
* Trying 108.177.15.95:443...
* Connected to maps.googleapis.com (108.177.15.95) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
* CAfile: /etc/ssl/certs/ca-certificates.crt
* CApath: /etc/ssl/certs
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.3 (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
* ALPN, server accepted to use h2
* Server certificate:
* subject: C=US; ST=California; L=Mountain View; O=Google LLC; CN=upload.video.google.com
* start date: Mar 23 08:24:47 2021 GMT
* expire date: Jun 15 08:24:46 2021 GMT
* subjectAltName: host "maps.googleapis.com" matched cert's "*.googleapis.com"
* issuer: C=US; O=Google Trust Services; CN=GTS CA 1O1
* SSL certificate verify ok.
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x55c4acf0c560)
> HEAD / HTTP/2
> Host: maps.googleapis.com
> user-agent: curl/7.74.0
> accept: */*
>
> HTTP/2 302
…
كيفية طباعة شهادات الخادم المستلَمة بتنسيق يمكن قراءته
بافتراض أنّ الناتج منسّق بتنسيق PEM، مثلاً الناتج من
openssl s_client -connect maps.googleapis.com:443 -showcerts </dev/null
،
يمكنك طباعة الشهادة المعروضة باتّباع الخطوات التالية:
انسخ الشهادة المشفّرة بالكامل باستخدام Base 64، بما في ذلك العنوان والتذييل:
-----BEGIN CERTIFICATE----- … -----END CERTIFICATE-----
بعد ذلك، اتّبِع الخطوات التالية:
openssl x509 -inform pem -noout -text ````
بعد ذلك، الصِق محتويات مخزن النسخ المؤقت في نافذة الوحدة الطرفية.
اضغط على مفتاح Return.
للاطّلاع على أمثلة للإدخال والإخراج، راجِع القسم كيفية طباعة شهادات PEM بتنسيق يمكن للمستخدمين قراءته.
كيف تبدو شهادات Google الموقّعة بشكل متبادل في OpenSSL؟
{# disableFinding(LINE_OVER_80)}
…
---
Certificate chain
0 s:C = US, ST = California, L = Mountain View, O = Google LLC, CN = good.gtsr1x.demosite.pki.goog
i:C = US, O = Google Trust Services LLC, CN = GTS Y1
-----BEGIN CERTIFICATE-----
…
-----END CERTIFICATE-----
1 s:C = US, O = Google Trust Services LLC, CN = GTS Y1
i:C = US, O = Google Trust Services LLC, CN = GTS Root R1
-----BEGIN CERTIFICATE-----
…
-----END CERTIFICATE-----
2 s:C = US, O = Google Trust Services LLC, CN = GTS Root R1
i:C = BE, O = GlobalSign nv-sa, OU = Root CA, CN = GlobalSign Root CA
-----BEGIN CERTIFICATE-----
…
-----END CERTIFICATE-----
---
Server certificate
subject=C = US, ST = California, L = Mountain View, O = Google LLC, CN = good.gtsr1x.demosite.pki.goog
issuer=C = US, O = Google Trust Services LLC, CN = GTS Y1
---
…
إدارة الشهادات الموثوق بها
كيف يمكنني التحقّق من شهادات الجذر الموثوق بها على هاتفي الجوّال؟
شهادات Android الموثوق بها
كما ذكرنا في السؤال هل التطبيقات على الأجهزة الجوّالة معرّضة للتوقّف عن العمل؟، منذ الإصدار 4.0، يتيح نظام التشغيل Android لمستخدمي الهواتف الجوّالة التحقّق من قائمة الشهادات الموثوق بها ضمن الإعدادات. يعرض هذا الجدول مسار قائمة الإعدادات الدقيق:
إصدار Android | مسار القائمة |
---|---|
1.x و2.x و3.x | لا ينطبق |
4.x و5.x و6.x و7.x | الإعدادات > الأمان > بيانات الاعتماد الموثوقة |
8.x و9 | الإعدادات > الأمان والموقع الجغرافي > التشفير وبيانات الاعتماد > بيانات الاعتماد الموثوقة |
10+ | الإعدادات > الأمان > الإعدادات المتقدّمة > التشفير وبيانات الاعتماد > بيانات الاعتماد الموثوقة |
يوضّح هذا الجدول مدى التوفّر المحتمل لشهادات الجذر الأكثر أهمية لكل إصدار من إصدارات Android، وذلك استنادًا إلى عملية التحقّق اليدوي باستخدام صور نظام "جهاز Android الافتراضي" (AVD) المتاحة، مع الرجوع إلى سجلّ إصدارات مستودع Git الخاص بـ ca-certificates في مشروع Android مفتوح المصدر (AOSP)، حيث لم تعُد صور النظام متاحة:
إصدار Android | GTS Root R1 | GlobalSign Root CA - R1 | GlobalSign Root R2 (صالحة حتى 15 ديسمبر 2021) |
---|---|---|---|
2.3 و3.2 و4.x و5.x و6.x و7.x و8.x و9 | |||
10+ |
لا يمكن عادةً تحديث متجر شهادات الجذر لنظام Android بدون تحديث البرامج الثابتة أو الوصول إلى الجذر على الجهاز. ومع ذلك، من المرجّح أنّ مجموعة شهادات الجذر الموثوق بها الحالية ستوفّر خدمة بدون انقطاع لسنوات عديدة قادمة على معظم إصدارات Android التي لا يزال يتم استخدامها على نطاق واسع، أي بعد انتهاء العمر الفعلي لمعظم الأجهزة الحالية.
بدءًا من الإصدار 7.0، يوفّر نظام التشغيل Android لمطوّري التطبيقات طريقة آمنة لإضافة شهادات موثوق بها لا يوثق بها إلا تطبيقهم. ويتم ذلك من خلال تجميع الشهادات مع التطبيق وإنشاء إعداد مخصّص لأمان الشبكات، كما هو موضّح في مستند التدريب أفضل ممارسات الأمان والخصوصية على Android إعداد أمان الشبكات.
ومع ذلك، بما أنّ مطوّري التطبيقات التابعين لجهات خارجية لن يتمكّنوا من التأثير في إعدادات أمان الشبكة الخاصة بنقل البيانات الواردة من حزمة APK لخدمات Google Play، من المرجّح أن تقدّم هذه الجهود حلاً جزئيًا فقط.
على الأجهزة القديمة، سيكون الخيار الوحيد المتاح هو الاعتماد على شهادات CA التي يضيفها المستخدمون، سواء تم تثبيتها من خلال سياسة مجموعة خاصة بالشركة يتم تطبيقها على جهاز المستخدم النهائي، أو من خلال المستخدمين النهائيين أنفسهم.
مخزن شهادات الجذر الموثوق بها في iOS
لا تعرض Apple مباشرةً المجموعة التلقائية من شهادات الجذر الموثوق بها لمستخدمي الهواتف الجوّالة، ولكن الشركة توفّر روابط لمجموعات مراجع التصديق الجذرية الموثوق بها لإصدارات iOS 5 والإصدارات الأحدث من مقالات "دعم Apple":
- قائمة بشهادات الجذر الموثوق بها المتوفرة في الإصدار 12.1.3 من نظام التشغيل iOS والإصدار 10.14.3 من نظام التشغيل macOS والإصدار 5.1.3 من نظام التشغيل watchOS والإصدار 12.1.2 من نظام التشغيل tvOS
- iOS 5 وiOS 6: قائمة بشهادات الجذر الموثوقة المتوفرة
ومع ذلك، يجب أن تكون أي شهادات إضافية مثبَّتة على جهاز iOS مرئية ضمن الإعدادات > عام > الملف الشخصي. إذا لم يتم تثبيت أي شهادات إضافية، قد لا يظهر عنصر القائمة الملف الشخصي.
يوضّح هذا الجدول مدى توفّر شهادات الجذر الأكثر أهمية لكل إصدار من إصدارات iOS، استنادًا إلى المصادر المذكورة أعلاه:
إصدار iOS | GTS Root R1 | GlobalSign Root CA - R1 | GlobalSign Root R2 (صالحة حتى 15 ديسمبر 2021) |
---|---|---|---|
5 و6 و7 و8 و9 و10 و11 و12.0 | |||
12.1.3+ |
أين يمكنني العثور على متجر شهادات الجذر للنظام وكيف يمكنني تعديله؟
يختلف مكان تخزين شهادات الجذر التلقائية حسب نظام التشغيل ومكتبة SSL/TLS المستخدَمة. ومع ذلك، في معظم توزيعات Linux، يمكن العثور على شهادات الجذر التلقائية ضمن أحد المسارات التالية:
-
/usr/local/share/ca-certificates
: Debian وUbuntu والإصدارات القديمة من RHEL وCentOS -
/etc/pki/ca-trust/source/anchors
و/usr/share/pki/ca-trust-source
: Fedora والإصدارات الأحدث من RHEL وCentOS -
/var/lib/ca-certificates
: OpenSUSE
قد تتضمّن مسارات الشهادات الأخرى ما يلي:
-
/etc/ssl/certs
: Debian وUbuntu -
/etc/pki/tls/certs
: RHEL وCentOS
من المحتمل أن تكون بعض الشهادات في هذه الأدلة روابط رمزية إلى ملفات في أدلة أخرى.
مخزن شهادات الجذر OpenSSL
بالنسبة إلى التطبيقات التي تستخدم OpenSSL، يمكنك التحقّق من الموقع الجغرافي الذي تم ضبطه للمكوّنات المثبَّتة، بما في ذلك مخزن شهادات الجذر التلقائي، باستخدام الأمر التالي:
openssl version -d
يطبع الأمر OPENSSLDIR
، الذي يتوافق مع دليل المستوى الأعلى الذي يمكن العثور فيه على المكتبة وإعداداتها:
OPENSSLDIR: "/usr/lib/ssl"
يقع مكان تخزين شهادات الجذر في الدليل الفرعي certs
.
ls -l /usr/lib/ssl/certs
lrwxrwxrwx 1 root root 14 Apr 21 2020 /usr/lib/ssl/certs -> /etc/ssl/certs
ls -l /etc/ssl/certs
…
-rw-r--r-- 1 root root 214904 Apr 15 17:01 ca-certificates.crt
…
lrwxrwxrwx 1 root root 50 Apr 15 16:57 GTS_Root_R1.pem -> /usr/share/ca-certificates/mozilla/GTS_Root_R1.crt
…
إذا كان OpenSSL يعتمد على مخزن شهادات الجذر التلقائي للنظام كما هو موضّح في المثال أعلاه، يُرجى الاطّلاع على القسم ذي المستوى الأعلى أين يمكنني العثور على مخزن شهادات الجذر للنظام وكيف يمكنني تعديله؟ للتأكّد من أنّ حزمة شهادات الجذر للنظام محدَّثة.
للحصول على تعليمات حول كيفية الحصول على openssl
، يُرجى الاطّلاع على القسم
الحصول على OpenSSL.
مخزن شهادات الجذر في Java
قد تستخدم تطبيقات Java مخزن شهادات الجذر الخاص بها، والذي يقع عادةً في /etc/pki/java/cacerts
أو /usr/share/ca-certificates-java
على أنظمة Linux، ويمكن إدارته باستخدام أداة سطر الأوامر keytool
في Java.
لاستيراد شهادة فردية إلى مخزن شهادات Java، نفِّذ الأمر التالي:
keytool -import -trustcacerts -file cert.pem -alias alias -keystore certs.jks
ما عليك سوى استبدال cert.pem
بملف الشهادة المتوافق مع كل شهادة جذر موصى بها، واستبدال alias
باسم مستعار فريد ولكن ذي صلة بالشهادة، واستبدال certs.jks
بملف قاعدة بيانات الشهادات المستخدَم في بيئتك.
لمزيد من المعلومات، يُرجى الاطّلاع على مقالتَي Oracle وStack Overflow التاليتَين:
- مرجع أدوات Java Platform, Standard Edition: keytool
- كيف يمكن الحصول على موقع ملفات cacerts لتثبيت Java التلقائي؟
- كيف يمكن استيراد شهادة موقعة ذاتيًا بشكل صحيح إلى ملف تخزين المفاتيح في Java المتاح لجميع تطبيقات Java تلقائيًا؟
مخزن شهادات الجذر في Mozilla NSS
قد تستخدم التطبيقات التي تستخدم Mozilla NSS تلقائيًا أيضًا قاعدة بيانات شهادات على مستوى النظام تقع عادةً ضمن /etc/pki/nssdb
، أو متجرًا تلقائيًا خاصًا بالمستخدم ضمن ${HOME}/.pki/nssdb
.
لتعديل قاعدة بيانات NSS، استخدِم أداة certutil
.
لاستيراد ملف شهادة فردي إلى قاعدة بيانات NSS، أدخِل الأمر التالي:
certutil -A -t "C,," -i cert.pem -n cert-name -d certdir
ما عليك سوى استبدال cert.pem
بملف الشهادة المتوافق مع كل شهادة جذر موصى بها، واستبدال cert-name
باسم مستعار ذي معنى للشهادة، واستبدال certdir
بمسار قاعدة بيانات الشهادات المستخدَمة في بيئتك.
للحصول على مزيد من المعلومات، يُرجى الرجوع إلى الدليل الرسمي NSS Tools certutil، بالإضافة إلى مستندات نظام التشغيل.
متجر شهادات الجذر في Microsoft .NET
قد يجد مطوّرو Windows .NET المقالات التالية على الأقل من Microsoft مفيدة لتعديل متجر شهادات الجذر:
تنسيقات ملفات الشهادات
ما هو ملف PEM؟
البريد مُحسَّن الخصوصية (PEM) هو تنسيق ملف نصي معتمد لتخزين وإرسال الشهادات والمفاتيح المشفرة وغيرها، وقد تم اعتماده كمعيار قانوني في RFC 7468.
على الرغم من أنّ تنسيق الملف نفسه يمكن قراءته، لا يمكن قراءة معلومات بيانات شهادة Base64 الثنائية المشفرة. ومع ذلك، تسمح مواصفات PEM بعرض نص توضيحي إما قبل أو بعد نص شهادة الترميز، وتستخدم العديد من الأدوات هذه الميزة أيضًا لتقديم ملخّص بنص عادي لأهم عناصر البيانات في الشهادة.
يمكن أيضًا استخدام أدوات، مثل openssl
، لفك تشفير الشهادة بأكملها وتحويلها إلى شكل يمكن قراءته. راجِع القسم
كيفية طباعة شهادات PEM بتنسيق يمكن قراءته
للحصول على مزيد من المعلومات.
ما هو ملف ".crt"؟
تستخدم الأدوات التي تتيح تصدير الشهادات بتنسيق PEM عادةً امتداد الملف ".crt" للإشارة إلى أنّ الملف يستخدم ترميزًا نصيًا.
ما هو ملف DER؟
قواعد التشفير المميزة (DER) هي تنسيق ثنائي موحّد لتشفير الشهادات. إنّ الشهادات في ملفات PEM هي عادةً شهادات DER بترميز Base64.
ما هو ملف ".cer"؟
قد يحتوي ملف تم تصديره مع اللاحقة ".cer" على شهادة بتشفير PEM، ولكنّه عادةً ما يحتوي على شهادة ثنائية، وعادةً ما تكون بتشفير DER. حسب الاصطلاح، لا تحتوي ملفات ".cer" عادةً إلا على شهادة واحدة.
يرفض نظامي استيراد جميع الشهادات من ملف roots.pem
تتضمّن بعض الأنظمة، مثل لا يمكن لـ Java keytool
استيراد سوى شهادة واحدة من ملف PEM، حتى إذا كان يحتوي على عدة شهادات. راجِع السؤال
كيف يمكنني استخراج شهادات فردية من ملف roots.pem؟
لمعرفة كيفية تقسيم الملف أولاً.
كيف يمكنني استخراج شهادات فردية من ملف roots.pem؟
يمكنك تقسيم roots.pem
إلى شهادات المكوّنات باستخدام نص bash البرمجي التالي:
csplit -z -f roots.pem. roots.pem '/-----END CERTIFICATE-----/+1' '{*}' &>/dev/null && \
for f in roots.pem.*; \
do mv "${f}" $(openssl x509 -in "${f}" -noout -issuer_hash).pem; \
done
من المفترض أن يؤدي ذلك إلى إنشاء عدد من ملفات PEM الفردية المشابهة لتلك المدرَجة هنا:
ls -l *.pem
-rw-r----- 1 <user> <group> 2217 Apr 28 11:04 02265526.pem
-rw-r----- 1 <user> <group> 1722 Apr 28 11:04 062cdee6.pem
-rw-r----- 1 <user> <group> 1279 Apr 28 11:04 0a775a30.pem
-rw-r----- 1 <user> <group> 2425 Apr 28 11:04 1001acf7.pem
-rw-r----- 1 <user> <group> 1796 Apr 28 11:04 106f3e4d.pem
-rw-r----- 1 <user> <group> 1315 Apr 28 11:04 1d3472b9.pem
-rw-r----- 1 <user> <group> 1919 Apr 28 11:04 244b5494.pem
-rw-r----- 1 <user> <group> 1668 Apr 28 11:04 2b349938.pem
-rw-r----- 1 <user> <group> 1651 Apr 28 11:04 2c543cd1.pem
-rw-r----- 1 <user> <group> 1858 Apr 28 11:04 3513523f.pem
-rw-r----- 1 <user> <group> 2000 Apr 28 11:04 40547a79.pem
-rw-r----- 1 <user> <group> 1862 Apr 28 11:04 4a6481c9.pem
-rw-r----- 1 <user> <group> 1927 Apr 28 11:04 4bfab552.pem
-rw-r----- 1 <user> <group> 1745 Apr 28 11:04 5ad8a5d6.pem
-rw-r----- 1 <user> <group> 1813 Apr 28 11:04 607986c7.pem
-rw-r----- 1 <user> <group> 2425 Apr 28 11:04 626dceaf.pem
-rw-r----- 1 <user> <group> 1738 Apr 28 11:04 653b494a.pem
-rw-r----- 1 <user> <group> 2294 Apr 28 11:04 6b99d060.pem
-rw-r----- 1 <user> <group> 2510 Apr 28 11:04 75d1b2ed.pem
-rw-r----- 1 <user> <group> 1788 Apr 28 11:04 76cb8f92.pem
-rw-r----- 1 <user> <group> 1383 Apr 28 11:04 7f3d5d1d.pem
-rw-r----- 1 <user> <group> 1668 Apr 28 11:04 93bc0acc.pem
-rw-r----- 1 <user> <group> 1220 Apr 28 11:04 9c8dfbd4.pem
-rw-r----- 1 <user> <group> 1838 Apr 28 11:04 9d04f354.pem
-rw-r----- 1 <user> <group> 1279 Apr 28 11:04 a3418fda.pem
-rw-r----- 1 <user> <group> 2194 Apr 28 11:04 aee5f10d.pem
-rw-r----- 1 <user> <group> 1249 Apr 28 11:04 b0e59380.pem
-rw-r----- 1 <user> <group> 1882 Apr 28 11:04 b1159c4c.pem
-rw-r----- 1 <user> <group> 2346 Apr 28 11:04 b727005e.pem
-rw-r----- 1 <user> <group> 1940 Apr 28 11:04 cbf06781.pem
-rw-r----- 1 <user> <group> 2609 Apr 28 11:04 d6325660.pem
-rw-r----- 1 <user> <group> 2474 Apr 28 11:04 dc4d6a89.pem
-rw-r----- 1 <user> <group> 1358 Apr 28 11:04 dd8e9d41.pem
-rw-r----- 1 <user> <group> 1972 Apr 28 11:04 ee64a828.pem
-rw-r----- 1 <user> <group> 1462 Apr 28 11:04 eed8c118.pem
-rw-r----- 1 <user> <group> 1944 Apr 28 11:04 f081611a.pem
-rw-r----- 1 <user> <group> 1488 Apr 28 11:04 f30dd6ad.pem
-rw-r----- 1 <user> <group> 1975 Apr 28 11:04 f387163d.pem
-rw-r----- 1 <user> <group> 2632 Apr 28 11:04 fc5a8f99.pem
-rw-r----- 1 <user> <group> 72865 Apr 20 12:44 roots.pem
يمكن بعد ذلك استيراد ملفات PEM الفردية، مثل 02265526.pem
، بشكل منفصل، أو تحويلها إلى تنسيق ملف يقبله مخزن الشهادات.
كيفية التحويل بين ملف PEM وتنسيق متوافق مع نظامي
يمكن استخدام أداة سطر الأوامر OpenSSL
openssl
لتحويل الملفات بين جميع تنسيقات ملفات الشهادات الشائعة الاستخدام. في ما يلي تعليمات حول كيفية التحويل من ملف PEM إلى تنسيقات ملفات الشهادات الأكثر استخدامًا.
للحصول على قائمة كاملة بالخيارات المتاحة، يُرجى الاطّلاع على مستندات أدوات سطر الأوامر الرسمية في OpenSSL.
للحصول على تعليمات حول كيفية الحصول على openssl
، يُرجى الاطّلاع على القسم
الحصول على OpenSSL.
كيف يمكنني تحويل ملف PEM إلى تنسيق DER؟
باستخدام openssl
، يمكنك إصدار الأمر التالي لتحويل ملف من PEM إلى DER:
openssl x509 -in roots.pem -outform der -out roots.der
كيف يمكنني تحويل ملف PEM إلى PKCS #7؟
باستخدام openssl
، يمكنك إصدار الأمر التالي لتحويل ملف من PEM إلى PKCS #7:
openssl crl2pkcs7 -nocrl -certfile roots.pem -out roots.p7b
كيف يمكنني تحويل ملف PEM إلى ملف PKCS #12 (PFX)؟
باستخدام openssl
، يمكنك إصدار الأمر التالي لتحويل ملف من PEM إلى PKCS #12:
openssl pkcs12 -export -info -in roots.pem -out roots.p12 -nokeys
يجب تقديم كلمة مرور للملف عند إنشاء أرشيف PKCS #12. احرص على تخزين كلمة المرور في مكان آمن، إذا لم تستورد ملف PKCS #12 إلى نظامك على الفور.
عرض الشهادات وطباعتها وتصديرها من مخزن شهادات الجذر
كيف يمكنني تصدير شهادة من Java Key Store كملف PEM؟
باستخدام keytool
، يمكنك إصدار الأمر التالي لعرض جميع الشهادات في مستودع الشهادات، بالإضافة إلى الاسم المستعار الذي يمكنك استخدامه لتصدير كل شهادة:
keytool -v -list -keystore certs.jks
ما عليك سوى استبدال certs.jks
بملف قاعدة بيانات الشهادات المستخدَم في بيئتك. سيعرض هذا الأمر أيضًا الاسم المستعار لكل شهادة، وهو ما ستحتاج إليه إذا أردت تصديرها.
لتصدير شهادة فردية بتنسيق PEM، أصدِر الأمر التالي:
keytool -exportcert -rfc -keystore certs.jks -alias alias > alias.pem
ما عليك سوى استبدال certs.jks
بملف قاعدة بيانات الشهادات المستخدَم في بيئتك، وتقديم alias
وalias.pem
بما يتوافق مع الشهادة التي تريد تصديرها.
لمزيد من المعلومات، يُرجى الرجوع إلى دليل Java Platform, Standard Edition Tools Reference: keytool {: .external}.
كيف يمكنني تصدير الشهادات من متجر شهادات الجذر في NSS كملف PEM؟
باستخدام certutil
، يمكنك إصدار الأمر التالي لإدراج جميع الشهادات في مخزن الشهادات، بالإضافة إلى الاسم المستعار الذي يمكنك استخدامه لتصدير كل شهادة:
certutil -L -d certdir
ما عليك سوى استبدال certdir
بمسار قاعدة بيانات الشهادات المستخدَم في بيئتك. سيعرض هذا الأمر أيضًا الاسم المستعار لكل شهادة، وهو ما ستحتاج إليه إذا أردت تصديرها.
لتصدير شهادة فردية بتنسيق PEM، أصدِر الأمر التالي:
certutil -L -n cert-name -a -d certdir > cert.pem
ما عليك سوى استبدال certdir
بمسار قاعدة بيانات الشهادات المستخدَم في بيئتك، وتوفير cert-name
وcert.pem
بما يتوافق مع الشهادة التي تريد تصديرها.
للحصول على مزيد من المعلومات، يُرجى الرجوع إلى الدليل الرسمي NSS Tools certutil، بالإضافة إلى مستندات نظام التشغيل.
كيفية طباعة شهادات PEM بتنسيق يمكن للمستخدمين قراءته
في الأمثلة التالية، نفترض أنّ لديك الملف GTS_Root_R1.pem
الذي يتضمّن المحتوى التالي:
# Operating CA: Google Trust Services LLC
# Issuer: C=US, O=Google Trust Services LLC, CN=GTS Root R1
# Subject: C=US, O=Google Trust Services LLC, CN=GTS Root R1
# Label: "GTS Root R1
# Serial: 6e:47:a9:c5:4b:47:0c:0d:ec:33:d0:89:b9:1c:f4:e1
# MD5 Fingerprint: 82:1A:EF:D4:D2:4A:F2:9F:E2:3D:97:06:14:70:72:85
# SHA1 Fingerprint: E1:C9:50:E6:EF:22:F8:4C:56:45:72:8B:92:20:60:D7:D5:A7:A3:E8
# SHA256 Fingerprint: 2A:57:54:71:E3:13:40:BC:21:58:1C:BD:2C:F1:3E:15:84:63:20:3E:CE:94:BC:F9:D3:CC:19:6B:F0:9A:54:72
-----BEGIN CERTIFICATE-----
MIIFWjCCA0KgAwIBAgIQbkepxUtHDA3sM9CJuRz04TANBgkqhkiG9w0BAQwFADBH
MQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExM
QzEUMBIGA1UEAxMLR1RTIFJvb3QgUjEwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIy
MDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNl
cnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjEwggIiMA0GCSqGSIb3DQEB
AQUAA4ICDwAwggIKAoICAQC2EQKLHuOhd5s73L+UPreVp0A8of2C+X0yBoJx9vaM
f/vo27xqLpeXo4xL+Sv2sfnOhB2x+cWX3u+58qPpvBKJXqeqUqv4IyfLpLGcY9vX
mX7wCl7raKb0xlpHDU0QM+NOsROjyBhsS+z8CZDfnWQpJSMHobTSPS5g4M/SCYe7
zUjwTcLCeoiKu7rPWRnWr4+wB7CeMfGCwcDfLqZtbBkOtdh+JhpFAz2weaSUKK0P
fyblqAj+lug8aJRT7oM6iCsVlgmy4HqMLnXWnOunVmSPlk9orj2XwoSPwLxAwAtc
vfaHszVsrBhQf4TgTM2S0yDpM7xSma8ytSmzJSq0SPly4cpk9+aCEI3oncKKiPo4
Zor8Y/kB+Xj9e1x3+naH+uzfsQ55lVe0vSbv1gHR6xYKu44LtcXFilWr06zqkUsp
zBmkMiVOKvFlRNACzqrOSbTqn3yDsEB750Orp2yjj32JgfpMpf/VjsPOS+C12LOO
Rc92wO1AK/1TD7Cn1TsNsYqiA94xrcx36m97PtbfkSIS5r762DL8EGMUUXLeXdYW
k70paDPvOmbsB4om3xPXV2V4J95eSRQAogB/mqghtqmxlbCluQ0WEdrHbEg8QOB+
DVrNVjzRlwW5y0vtOUucxD/SVRNuJLDWcfr0wbrM7Rv1/oFB2ACYPTrIrnqYNxgF
lQIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV
HQ4EFgQU5K8rJnEaK0gnhS9SZizv8IkTcT4wDQYJKoZIhvcNAQEMBQADggIBADiW
Cu49tJYeX++dnAsznyvgyv3SjgofQXSlfKqE1OXyHuY3UjKcC9FhHb8owbZEKTV1
d5iyfNm9dKyKaOOpMQkpAWBz40d8U6iQSifvS9efk+eCNs6aaAyC58/UEBZvXw6Z
XPYfcX3v73svfuo21pdwCxXu11xWajOl40k4DLh9+42FpLFZXvRq4d2h9mREruZR
gyFmxhE+885H7pwoHyXa/6xmld01D1zvICxi/ZG6qcz8WpyTgYMpl0p8WnK0OdC3
d8t5/Wk6kjftbjhlRn7pYL15iJdfOBL07q9bgsiG1eGZbYwE8na6SfZu6W0eX6Dv
J4J2QPim01hcDyxC2kLGe4g0x8HYRZvBPsVhHdljUEn2NIVq4BjFbkerQUIpm/Zg
DdIx02OYI5NaAIFItO/Nis3Jz5nu2Z6qNuFoS3FJFDYoOj0dzpqPJeaAcWErtXvM
+SUWgeExX6GjfhaknBZqlxi9dnKlC54dNuYvoS++cJEPqOba+MSSQGwlfnuzCdyy
F62ARPBopY+Udf90WuioAnwMCeKpSwughQtiue+hMZL77/ZRBIls6Kl0obsXs7X9
SQ98POyDGCBDTtWTurQ0sR8WNh8M5mQ5Fkzc4P4dyKliPUDqysU0ArSuiYgzNdws
E3PYJ/HQcu51OyLemGhmW/HGY0dVHLqlCFF1pkgl
-----END CERTIFICATE-----
طباعة ملفات الشهادات باستخدام OpenSSL
إصدار الأمر
openssl x509 -in GTS_Root_R1.pem -text
يجب أن ينتج عن ذلك ما يشبه ما يلي:
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
6e:47:a9:c5:4b:47:0c:0d:ec:33:d0:89:b9:1c:f4:e1
Signature Algorithm: sha384WithRSAEncryption
Issuer: C = US, O = Google Trust Services LLC, CN = GTS Root R1
Validity
Not Before: Jun 22 00:00:00 2016 GMT
Not After : Jun 22 00:00:00 2036 GMT
Subject: C = US, O = Google Trust Services LLC, CN = GTS Root R1
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public-Key: (4096 bit)
Modulus:
…
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Key Usage: critical
Certificate Sign, CRL Sign
X509v3 Basic Constraints: critical
CA:TRUE
X509v3 Subject Key Identifier:
E4:AF:2B:26:71:1A:2B:48:27:85:2F:52:66:2C:EF:F0:89:13:71:3E
Signature Algorithm: sha384WithRSAEncryption
…
للحصول على تعليمات حول كيفية الحصول على openssl
، يُرجى الاطّلاع على القسم
الحصول على OpenSSL.
طباعة الشهادات باستخدام أداة Keytool في Java
إصدار الأمر التالي
keytool -printcert -file GTS_Root_R1.pem
يجب أن ينتج عن ذلك ما يشبه ما يلي:
Owner: CN=GTS Root R1, O=Google Trust Services LLC, C=US
Issuer: CN=GTS Root R1, O=Google Trust Services LLC, C=US
Serial number: 6e47a9c54b470c0dec33d089b91cf4e1
Valid from: Wed Jun 22 02:00:00 CEST 2016 until: Sun Jun 22 02:00:00 CEST 2036
Certificate fingerprints:
SHA1: E1:C9:50:E6:EF:22:F8:4C:56:45:72:8B:92:20:60:D7:D5:A7:A3:E8
SHA256: 2A:57:54:71:E3:13:40:BC:21:58:1C:BD:2C:F1:3E:15:84:63:20:3E:CE:94:BC:F9:D3:CC:19:6B:F0:9A:54:72
Signature algorithm name: SHA384withRSA
Subject Public Key Algorithm: 4096-bit RSA key
Version: 3
Extensions:
#1: ObjectId: 2.5.29.19 Criticality=true
BasicConstraints:[
CA:true
PathLen:2147483647
]
#2: ObjectId: 2.5.29.15 Criticality=true
KeyUsage [
Key_CertSign
Crl_Sign
]
#3: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: E4 AF 2B 26 71 1A 2B 48 27 85 2F 52 66 2C EF F0 ..+&q.+H'./Rf,..
0010: 89 13 71 3E ..q>
]
]
للحصول على تعليمات حول كيفية الحصول على keytool
، راجِع القسم
الحصول على أداة keytool في Java.
كيف يمكنني الاطّلاع على الشهادات المثبَّتة في مخزن شهادات الجذر؟
يختلف ذلك حسب نظام التشغيل ومكتبة طبقة المقابس الآمنة/طبقة النقل الآمنة. ومع ذلك، فإنّ الأدوات التي تتيح استيراد الشهادات وتصديرها من وإلى مستودع شهادات الجذر توفّر عادةً خيارًا لإدراج الشهادات المثبَّتة.
بالإضافة إلى ذلك، إذا تمكّنت من تصدير شهادات الجذر الموثوق بها إلى ملفات PEM، أو إذا كان مخزن شهادات الجذر يحتوي على ملفات PEM مخزّنة، يمكنك محاولة فتح الملفات في أي محرر نصوص، لأنّها بتنسيق ملف نصي عادي.
قد يتم تصنيف ملف PEM بشكل صحيح، ما يوفّر معلومات قابلة للقراءة عن هيئة إصدار الشهادات المرتبطة (مثال من حزمة شهادات هيئة إصدار الشهادات الجذرية الموثوق بها من Google):
# Operating CA: Google Trust Services LLC
# Issuer: C=US, O=Google Trust Services LLC, CN=GTS Root R1
# Subject: C=US, O=Google Trust Services LLC, CN=GTS Root R1
# Label: "GTS Root R1"
# Serial: 6e:47:a9:c5:4b:47:0c:0d:ec:33:d0:89:b9:1c:f4:e1
# MD5 Fingerprint: 82:1A:EF:D4:D2:4A:F2:9F:E2:3D:97:06:14:70:72:85
# SHA1 Fingerprint: E1:C9:50:E6:EF:22:F8:4C:56:45:72:8B:92:20:60:D7:D5:A7:A3:E8
# SHA256 Fingerprint: 2A:57:54:71:E3:13:40:BC:21:58:1C:BD:2C:F1:3E:15:84:63:20:3E:CE:94:BC:F9:D3:CC:19:6B:F0:9A:54:72
-----BEGIN CERTIFICATE-----
…
-----END CERTIFICATE-----
قد يحتوي الملف أيضًا على جزء الشهادة فقط. في مثل هذه الحالات، قد يوضّح اسم الملف، مثل GTS_Root_R1.pem
، هيئة إصدار الشهادات التي تنتمي إليها الشهادة. تكون سلسلة الشهادات بين الرمزين المميزين -----BEGIN CERTIFICATE-----
و-----END CERTIFICATE-----
فريدة أيضًا لكل هيئة إصدار شهادات.
ومع ذلك، حتى إذا لم تكن لديك الأدوات المذكورة أعلاه، يمكنك مطابقة مراجع التصديق الجذرية من الحزمة مع تلك الموجودة في مخزن شهادات الجذر بشكل موثوق، وذلك لأنّ كل شهادة في حزمة مراجع التصديق الجذرية الموثوقة من Google تحمل تصنيفًا مناسبًا، ويمكنك إجراء المطابقة إما باستخدام Issuer
أو من خلال مقارنة سلاسل شهادات ملف PEM.
قد تستخدم متصفحات الويب متجر شهادات الجذر الخاص بها، أو تعتمد على المتجر التلقائي الذي يوفّره نظام التشغيل. ومع ذلك، يجب أن تتيح لك جميع المتصفحات الحديثة إدارة مجموعة شهادات المرجع المصدّق الأساسية التي تثق بها أو عرضها على الأقل. لمزيد من التفاصيل، اطّلِع على السؤال هل تطبيقات JavaScript معرّضة لخطر التعطّل؟.
للحصول على تعليمات خاصة بالهواتف الجوّالة، يُرجى الاطّلاع على السؤال المنفصل كيف يمكنني التحقّق من شهادات الجذر الموثوق بها على هاتفي الجوّال؟.
الملحق
هل تحتاج إلى مزيد من المعلومات؟
يجب دائمًا الاعتماد بشكل أساسي على مستندات نظام التشغيل ومستندات لغات برمجة التطبيقات، بالإضافة إلى المستندات الواردة من أي مكتبات خارجية يستخدمها تطبيقك.
قد تكون أي مصادر أخرى للمعلومات بما في ذلك الأسئلة الشائعة هذه قديمة أو غير صحيحة، ولا يجب اعتبارها مرجعًا موثوقًا. ومع ذلك، قد تظلّ قادرًا على العثور على معلومات مفيدة في العديد من منتديات الأسئلة والأجوبة على Stack Exchange.
يمكنك أيضًا الاطّلاع على الأسئلة الشائعة حول Google Trust Services.
للحصول على مقدمة موجزة حول التشفير والبنية الأساسية للمفاتيح العامة والشهادات وسلاسل الشهادات، يمكنك الاطّلاع على قائمة تشغيل PKI Bootcamp على YouTube من إعداد Paul Turner.
للحصول على مزيد من التفاصيل حول المواضيع المتقدّمة، مثل تثبيت الشهادات، يمكنك الاطّلاع على مقالة تثبيت الشهادات والمفاتيح العامة من مشروع Open Web Application Security Project (OWASP) وورقة الغش الخاصة بالتثبيت. للحصول على تعليمات خاصة بنظام Android، يُرجى الرجوع إلى مستند التدريب الرسمي أفضل ممارسات الأمان والخصوصية في Android الأمان باستخدام HTTPS وSSL. للاطّلاع على مناقشة حول تثبيت الشهادات مقابل تثبيت المفتاح العام على Android، يمكنك الرجوع إلى منشور المدوّنة أمان Android: تثبيت بروتوكول SSL الذي كتبه Matthew Dolan.
يوفّر مستند التدريب أفضل ممارسات الأمان والخصوصية في Android إعدادات أمان الشبكة مزيدًا من المعلومات حول إدارة الشهادات الموثوق بها الإضافية على Android.
للحصول على قائمة شاملة بمراجع التصديق الجذرية التي يثق بها مشروع AOSP، يُرجى الرجوع إلى مستودع Git الخاص بـ ca-certificates. بالنسبة إلى أي إصدارات تستند إلى إصدارات غير رسمية من Android، مثل LineageOS، يُرجى الرجوع إلى المستودعات المناسبة التي يوفّرها مورّد نظام التشغيل.