يحتوي هذا المستند على الأقسام التالية:
للحصول على نظرة عامة أكثر تفصيلاً حول عملية نقل بيانات هيئة إصدار الشهادات الجذرية في Google الجارية، يُرجى الاطّلاع على ما الذي يحدث؟.
المصطلحات
في ما يلي قائمة بأهم المصطلحات التي يجب أن تكون على دراية بها في هذا المستند. للحصول على نظرة عامة أكثر شمولاً على المصطلحات المتعلقة بالموضوع، يُرجى الاطّلاع على الأسئلة الشائعة حول Google Trust Services.
- شهادة طبقة المقابس الآمنة/طبقة النقل الآمنة
- تربط الشهادة مفتاح تشفير بهوية.
- تُستخدَم شهادات بروتوكول أمان طبقة المقابس الآمنة (SSL) أو بروتوكول أمان طبقة النقل (TLS) لمصادقة الاتصالات الآمنة مع المواقع الإلكترونية وإنشاءها. تُصدر الكيانات المُعرَفة باسم "مراجع التصديق" الشهادات وتوقّعها باستخدام التشفير.
- تعتمد المتصفّحات على الشهادات الصادرة عن جهات إصدار موثوق بها لمعرفة أنّ المعلومات المُرسَلة يتم إرسالها إلى الخادم الصحيح وأنّها مُشفَّرة أثناء نقلها.
- طبقة المقابس الآمنة (SSL)
- كانت طبقة المقابس الآمنة (SSL) هي البروتوكول الأكثر استخدامًا لتشفير المراسلات على الإنترنت. لم يعُد بروتوكول طبقة المقابس الآمنة (SSL) آمنًا، ولم يعُد متاحًا على خدمات Google.
- بروتوكول أمان طبقة النقل (TLS)
- بروتوكول أمان طبقة النقل هو العنصر اللاحق لطبقة المقابس الآمنة.
- مرجع التصديق
- يشبه مرجع التصديق مكتب جوازات السفر الرقمي للأجهزة والمستخدمين. وتُصدر هذه الجهات مستندات (شهادات) محمية بتشفير بهدف إثبات هوية كيان معيّن (مثلاً موقع إلكتروني).
- قبل إصدار شهادة، تتحمّل هيئات إصدار الشهادات مسؤولية التحقّق من أنّ الأسماء الواردة في الشهادة مرتبطة بالشخص أو الكيان الذي يطلبها.
- يمكن أن يشير مصطلح "هيئة إصدار الشهادات" إلى كلّ من المؤسسات، مثل Google Trust Services، والأنظمة التي تُصدر الشهادات.
- مخزن شهادات الجذر
- يحتوي مخزن شهادات الجذر على مجموعة من هيئات إصدار الشهادات الموثوق بها من قِبل مزوّد برامج التطبيقات. تحتوي معظم متصفّحات الويب وأنظمة التشغيل على متجر خاص بها لشهادات الجذر.
- لكي يتم تضمين هيئة إصدار الشهادات في أحد مخازن شهادات الجذر، يجب أن تُلبّي المتطلبات الصارمة التي يحدّدها مزوّد برنامج التطبيقات.
- وتشمل هذه المتطلبات عادةً الامتثال للمعايير المتّبعة في المجال، مثل requirements CA/Browser Forum.
- هيئة إصدار الشهادات الجذرية
- هيئة إصدار الشهادات الجذرية (أو شهادتها بتعبير أدق) هي الشهادة الأعلى في سلسلة الشهادات.
- تكون شهادات CA الجذر عادةً موقَّعة ذاتيًا. ويتم تخزين المفاتيح الخاصة المرتبطة بها في مرافق آمنة للغاية، ويتم الاحتفاظ بها في حالة غير متصلة بالإنترنت لحمايتها من الوصول غير المصرح به.
- هيئة إصدار الشهادات المتوسطة
- مرجع التصديق الوسيط (أو شهادته) هو شهادة تُستخدَم لتوقيع شهادات أخرى في سلسلة الشهادات.
- تُستخدَم شهادات CA الوسيطة بشكل أساسي لتفعيل إصدار الشهادات على الإنترنت مع السماح لشهادة CA الجذر بالبقاء بلا إنترنت.
- تُعرف المراجع المصدقة المتوسطة أيضًا باسم المراجع المصدقة الثانوية.
- هيئة إصدار الشهادات
- هيئة إصدار الشهادات، أو الشهادة على وجه التحديد، هي الشهادة المستخدَمة لتوقيع الشهادة في أسفل سلسلة الشهادات.
- تُعرف هذه الشهادة في أسفل السلسلة عادةً باسم شهادة المشترك أو شهادة الكيان النهائي أو شهادة الورقة. في هذا المستند، سنستخدم أيضًا مصطلح شهادة الخادم.
- سلسلة الشهادات
- ترتبط الشهادات بصانعها (الذي يوقّعها بتشفير). تتكون سلسلة الشهادات من شهادة نهائية وجميع شهادات المُصدِر وشهادة الجذر.
- التوقيع المتقاطع
- على عملاء "مورّدي برامج التطبيقات" تعديل ملف تخزين شهادات الجذر لتضمين شهادات جديدة لهيئة إصدار الشهادات كي تثق بها منتجاتهم. يستغرق الأمر بعض الوقت إلى أن يتم استخدام المنتجات التي تحتوي على شهادات CA الجديدة بشكلٍ واسع النطاق.
- لزيادة التوافق مع العملاء الأقدم، يمكن أن تتم "التوقيع المتقاطع" على شهادات مرجع التصديق من قِبل مرجع تصديق آخر أقدم. يؤدي ذلك إلى إنشاء شهادة هيئة إصدار اعتماد ثانية للهوية نفسها (الاسم ومفتاحَي التشفير).
- استنادًا إلى مراجع إصدار الشهادات المضمّنة في ملف تخزين شهادات الجذر، سيقوم العميل ب إنشاء سلسلة شهادات مختلفة تصل إلى جذر يثق به.
معلومات عامة
فما معنى هذا؟
الصورة الشاملة
في عام 2017، بدأت Google مشروعًا لعدة سنوات لإصدار شهادات الاعتماد الجذرية الخاصة بها واستخدامها، وهي التوقيعات التشفيرية التي تشكّل أساس أمان HTTPS على الإنترنت المستند إلى بروتوكول أمان طبقة النقل (TLS).
بعد المرحلة الأولى، تم ضمان أمان بروتوكول أمان طبقة النقل (TLS) لخدمات Google Maps Platform من خلال GS Root R2، وهي هيئة إصدار شهادات جذر معروفة وموثوق بها على نطاق واسع، حصلت عليها Google من GMO GlobalSign لتسهيل الانتقال إلى مراجع التصديق الجذر الخاصة بخدمات Google Trust Services (GTS) التي أصدرناها بأنفسنا.
اعتمدت جميع عملاء بروتوكول أمان طبقة النقل (TLS) تقريبًا (مثل متصفّحات الويب والهواتف الذكية وخوادم التطبيقات) شهادة الجذر هذه، وبالتالي تمكّنوا من تأسيس اتصال آمن بخوادم Google Maps Platform خلال المرحلة الأولى من عملية نقل البيانات.
ومع ذلك، لا يمكن لمرجع التصديق بشكلٍ مُصمَّم إصدار شهادات صالحة بعد موعد انتهاء صلاحية شهادته. بعد انتهاء صلاحية GS Root R2 في 15 كانون الأول (ديسمبر) 2021، نقلت Google خدماتها إلى مرجع تصديق جديد، وهو GTS Root R1 Cross، باستخدام شهادة صادرة عن مرجع تصديق الجذر الخاص بـ Google، وهو GTS Root R1.
على الرغم من أنّ الغالبية العظمى من أنظمة التشغيل الحديثة ومكتبات عملاء بروتوكول أمان طبقة النقل (TLS) تثق حاليًا في شهادات CA الجذر الخاصة بـ GTS، إلا أنّ Google حصلت على توقيع مشترَك من GMO GlobalSign باستخدام شهادة CA الجذر GlobalSign - R1، وهي إحدى أقدم شهادات CA الجذر الموثوق بها حاليًا.
لذلك، من المفترض أن يتعرّف عملاء معظم عملاء "منصّة خرائط Google" على أحد (أو كليهما) من موفّري خدمات إصدار الشهادات الجذر الموثوق بهم، ومن المفترض أنّه لم يتأثّر العملاء على الإطلاق بالمرحلة الثانية من عملية نقل البيانات.
ينطبق ذلك أيضًا على العملاء الذين اتخذوا إجراءً خلال المرحلة الأولى من عملية نقل البيانات في عام 2018، بافتراض أنّهم اتّبعوا تعليماتنا في ذلك الوقت، والذي يشمل تثبيت جميع الشهادات من مجموعة مراجِع تصديق الجذر الموثوق بها من Google.
إذا واجهت مشاكل في الاتصال بخدمات Google Maps Platform، عليك التحقّق من أنظمتك في حال انطباق ما يلي:
- إذا كانت خدماتك تعمل على منصات غير عادية أو قديمة و/أو إذا كنت تدير مخزن شهادات الجذر الخاص بك
- عدم اتّخاذ إجراء في الفترة بين 2017 و2018، خلال المرحلة الأولى من عملية نقل مرجع تصديق الجذر من Google، أو عدم تثبيت المجموعة الكاملة من الشهادات من حزمة مرجع تصديق الجذر الموثوق به من Google
في حال انطباق ما سبق، قد تحتاج إلى تحديث عملاءك باستخدام شهادات الجذر المقترَحة لضمان استخدام Google Maps Platform بدون انقطاع أثناء هذه المرحلة من عملية نقل البيانات.
يمكنك الاطّلاع على مزيد من التفاصيل الفنية أدناه. للحصول على تعليمات عامة، يُرجى الرجوع إلى القسم كيفية التحقّق مما إذا كان يجب تحديث مخزن الشهادات الجذر.
ننصحك أيضًا بمواصلة مزامنة ملفّات تخزين شهادات الجذر مع حِزمة مرجع تصديق الجذر المنظَّمة أعلاه لتأمين خدماتك من التغييرات المستقبلية التي تطرأ على مرجع تصديق الجذر. وسيتم الإعلان عن هذه التغييرات مسبقًا. اطّلِع على القسمين كيف يمكنني الحصول على آخر الأخبار حول مرحلة نقل البيانات هذه؟ و كيف يمكنني الحصول على إشعار مُسبَق بعمليات نقل البيانات المستقبلية؟ لمزيد من التعليمات حول كيفية البقاء على اطّلاع.
الملخّص الفني
وفقًا لما تم الإعلان عنه في 15 آذار (مارس) 2021 على مدوّنة أمان Google، انتهت صلاحية GS Root R2، وهي هيئة إصدار الشهادات الجذر التي تستخدمها "منصة خرائط Google" منذ أوائل عام 2018، في 15 كانون الأول (ديسمبر) 2021. وبالتالي، سيتم نقل بيانات Google إلى مرجع تصديق GTS Root R1 Cross الذي تم إصداره حديثًا.
تم ضبط جميع أنظمة وعملاء TLS الحديثة تقريبًا مسبقًا باستخدام شهادة GTS Root R1 أو من المفترض أن يتم استلامها من خلال تحديثات البرامج العادية، ومن المفترض أن تكون GlobalSign Root CA - R1 متاحة أيضًا على الأنظمة القديمة.
ومع ذلك، يجب التحقّق من أنظمتك على الأقل في حال انطباق كلتا النقطتَين التاليتَين:
- إذا كانت خدماتك تعمل على منصات غير عادية أو قديمة و/أو إذا كنت تدير مخزّن شهادات الجذر الخاص بك
- عدم اتّخاذ إجراء في الفترة بين 2017 و2018، خلال المرحلة الأولى من عملية نقل مرجع تصديق الجذر من Google، أو عدم تثبيت المجموعة الكاملة من الشهادات من حزمة مرجع تصديق الجذر الموثوق به من Google
يقدّم القسم كيفية التحقّق مما إذا كان يجب تحديث مخزن الشهادات الجذر توجيهات عامة لاختبار ما إذا كان نظامك سيتأثّر.
اطّلِع على السؤال لماذا يجب أن أبقي على متجر شهادات الجذر متزامنًا مع حِزمة مرجع تصديق الجذر الموثوق به من Google؟ للاطّلاع على التفاصيل الكاملة.
كيف يمكنني الحصول على آخر المعلومات عن مرحلة نقل البيانات هذه؟
ضَع علامة نجمة على المشكلة العامة 186840968 للحصول على آخر المعلومات. يتم أيضًا تعديل قائمة الأسئلة الشائعة هذه خلال عملية نقل البيانات، كلما صادفنا مواضيع قد تهمّ المستخدمين بشكل عام.
كيف يمكنني تلقّي إشعار مُسبَق بعمليات النقل المستقبلية؟
ننصحك باتّباع مدوّنة أمان Google. سنسعى أيضًا إلى تعديل الوثائق الخاصة بالمنتجات في أقرب وقت ممكن، وذلك بعد نشر البلاغ العلني على المدوّنة.
يُرجى أيضًا الاشتراك في إشعارات "منصّة خرائط Google"، لأنّنا ننشر بانتظام آخر الأخبار على المنتدى بشأن التغييرات التي يُرجّح أن تؤثر في عدد أكبر من العملاء.
نستخدم عدّة خدمات من Google. هل ستؤثّر عملية نقل بيانات هيئة إصدار الشهادات الجذر في جميع هذه الأنظمة؟
نعم، سيتم نقل بيانات هيئة إصدار الشهادات الجذر على مستوى جميع خدمات Google وواجهات برمجة التطبيقات، ولكن قد يختلف المخطط الزمني لكل خدمة. ومع ذلك، بعد التأكّد من أنّ ملفّات تخزين شهادات الاعتماد الجذر التي تستخدمها تطبيقات عملاء Google Maps Platform تحتوي على جميع مراجِع التصديق المدرَجة في حِزمة مراجِع تصديق الجذر الموثوق بها من Google، من المفترض ألا تتأثّر خدماتك بعملية نقل البيانات الجارية، وسيساعدك أيضًا إبقاء هذه الخدمات متزامنة في تجنُّب أي تغييرات مستقبلية في مراجِع تصديق الجذر.
اطّلِع على السؤالين التاليين للحصول على مزيد من الإحصاءات: لماذا يجب أن أبقي على ملف تخزين شهادات الجذر متزامنًا مع حِزمة مرجع تصديق الجذر الموثوق به من Google؟ و ما هي أنواع التطبيقات التي تواجه خطرًا بالتوقف عن العمل؟
يقدّم القسم كيفية التحقّق مما إذا كان يجب تحديث مستودع شهادات الجذر أدناه أيضًا تعليمات عامة لاختبار نظامك.
كيفية التحقّق مما إذا كان يجب تحديث مستودع شهادات الجذر
اختبِر بيئة تطبيقك باستخدام نقاط النهاية الاختبارية المُدرَجة أدناه:
- إذا كان بإمكانك إنشاء اتصال عبر بروتوكول أمان طبقة النقل (TLS) بنقطة نهاية اختبار GTS Root R1 Cross، لن يتأثّر جهازك بانتهاء صلاحية GS Root R2.
- إذا كان بإمكانك إنشاء اتصال TLS بـ نقطة نهاية اختبار GTS Root R1، من المرجّح أن يتم حماية طلبك من انتهاء صلاحية GTS Root R1 Cross وGlobalSign Root CA - R1 في عام 2028.
سيكون نظامك متوافقًا بشكل عام مع تغيير مرجع تصديق CA الجذر هذا في الحالات التالية:
- تعمل خدمتك على نظام تشغيل شائع ومُعتمَد، ولا تُجري تحديثات على نظام التشغيل والمكتبات التي تستخدمها خدمتك، أو:
- اتّباع اقتراحاتنا السابقة وتثبيت جميع مراجع التصديق الجذر من مجموعة مراجع تصديق الجذر الموثوق بها من Google
على العملاء الذين يُحتمل أن يكونوا متأثرين بتعطُّل الخدمة تثبيت الشهادات على الفور من حِزمة هيئة إصدار الشهادات الجذرية الموثوق بها من Google لتجنُّب انقطاع الخدمة في المستقبل.
اطّلِع على السؤال لماذا يجب أن أبقي على متجر شهادات الجذر متزامنًا مع حِزمة مرجع تصديق الجذر الموثوق به من Google؟ للاطّلاع على التفاصيل الكاملة.
هل هناك أداة بسيطة يمكنني استخدامها للتحقّق من مستودع شهادات الجذر؟
قد تكون أداتا سطر الأوامر curl
وopenssl
مفيدة في
تحقيقاتك. يتوفّر كلاهما على معظم المنصّات، ويقدّمان خيارات اختبارية ثرية.
للحصول على تعليمات حول الحصول على curl
، اطّلِع على القسم الحصول على curl
أدناه.
إنّ أوامر openssl
الموضّحة أدناه مخصّصة للإصدار 1.1.1 أو الإصدارات الأحدث.
لا تتوفّر الإصدارات الأقدم من 1.1.1. إذا كنت تستخدم إصدارًا أقدم،
عليك ترقية هذه الأوامر أو تعديلها حسب الضرورة لتناسب إصدارك. للحصول على تعليمات
حول الحصول على openssl
، اطّلِع على قسم الحصول على مكتبة OpenSSL أدناه.
يمكنك أيضًا العثور على مزيد من الأدوات المفيدة ضمن القسم أين يمكنني الحصول على الأدوات التي أحتاج إليها؟ أدناه.
للحصول على تعليمات اختبار محدّدة، يُرجى الاطّلاع على القسم كيفية التحقّق مما إذا كان يجب تحديث مخزن الشهادات الجذر.
اختبار مخزن شهادات الجذر التلقائي
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; \
curl -vvI --cacert roots.pem https://good.gtsr1.demosite.pki.goog/; \
openssl s_client -CAfile roots.pem -connect good.gtsr1.demosite.pki.goog:443 -showcerts </dev/null; \
curl -vvI --cacert roots.pem https://good.gtsr1x.demosite.pki.goog/; \
openssl s_client -CAfile roots.pem -connect good.gtsr1x.demosite.pki.goog:443 -showcerts </dev/null;
كيف ستستمر عملية نقل مرجع تصديق 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". في هذه الحالة، عادةً ما يُصدر العملاء تحذيرًا بأنّه تعذّر إثبات صحة الشهادة.
استنادًا إلى إعدادات بروتوكول TLS، قد يواصل العملاء إرسال طلب إلى "منصة خرائط Google"، أو قد يرفضون مواصلة تنفيذ الطلب.
ما هي الحدّ الأدنى من متطلبات عميل بروتوكول طبقة المقابس الآمنة (TLS) للتواصل مع Google Maps Platform؟
تستخدِم شهادات Google Maps Platform الأسماء البديلة للموضوع (SAN)
في نظام أسماء النطاقات، لذا يجب أن يكون معالج شهادات العميل قادرًا على إتاحة الأسماء البديلة للموضوع التي قد تتضمّن علامة بدل واحدة كأول تصنيف في الاسم، مثل *.googleapis.com
.
على الرغم من أنّ الإصدارَين 1.0 و1.1 من بروتوكول أمان طبقة النقل (TLS) القديمَين لا يزالان متاحَين، ننصحك بعدم استخدامهما، وننصحك باستخدام الإصدار 1.3 من البروتوكول إن أمكن.
للاطّلاع على المتطلبات والاقتراحات الأخرى، يُرجى الرجوع إلى القسمين التاليين: ما هي المتطلبات المقترَحة لبرنامج TLS للتواصل مع Google؟ و لماذا لا تزال العديد من خدمات Google تسمح بعمليات الاتصال باستخدام TLS 1.0 وTLS 1.1؟ في الأسئلة الشائعة حول بروتوكول أمان طبقة النقل (TLS).
ما هي أنواع التطبيقات التي قد تتعطّل؟
يستخدم التطبيق مستودع شهادات الجذر للنظام بدون أي قيود يفرضها المطوّر.
تطبيقات خدمة الويب في "منصة خرائط Google"
إذا كنت تستخدم نظام تشغيل شائعًا لا يزال يتم صيانته ويتلقّى تحديثات منتظمة، من المفترض أن يتضمّن مخزن شهادات الجذر التلقائي شهادة GTS Root R1.
إذا كنت تستخدم إصدارًا قديمًا من نظام التشغيل لم يعُد يتلقّى تحديثات، قد يكون لديك شهادة GTS Root R1 أو قد لا يكون لديك. ومع ذلك، من المرجّح أن يحتوي مستودع شهادات الجذر على مرجع تصديق الجذر GlobalSign - R1، وهو أحد أقدم مراجع التصديق الجذر والأكثر موثوقية على نطاق واسع.
بالنسبة إلى التطبيقات المتوافقة مع الأجهزة الجوّالة التي تستدعي خدمات ويب "منصّة خرائط Google" مباشرةً من جهاز المستخدم النهائي، تنطبق الإرشادات الواردة في السؤال هل تواجه التطبيقات المتوافقة مع الأجهزة الجوّالة خطر تعطُّل؟.
تطبيقات "منصة خرائط Google" من جهة العميل
تعتمد تطبيقات Maps JavaScript API بشكل عام على شهادات الصعِد لمتصفّح الويب الذي يشغّل التطبيق. راجِع القسم هل تطبيقات JavaScript معرّضة للتوقف عن العمل؟ لمزيد من التفاصيل.
بالنسبة إلى التطبيقات المتوافقة مع الأجهزة الجوّالة والتي تستخدم أيًا من حِزم تطوير البرامج التالية: "حزمة تطوير برامج خرائط Google لنظام التشغيل Android" أو "حزمة تطوير برامج خرائط Google لنظام التشغيل iOS" أو "حزمة تطوير برامج الأماكن لنظام التشغيل Android" أو "حزمة تطوير برامج الأماكن لنظام التشغيل iOS"، تنطبق القواعد نفسها التي تنطبق على التطبيقات التي تستدعي خدمات الويب في "منصة خرائط Google".
اطّلِع على السؤال هل التطبيقات المتوافقة مع الأجهزة الجوّالة معرّضة للتوقف عن العمل؟ لمزيد من التفاصيل.
يستخدم التطبيق حِزمة شهادته الخاصة أو يستخدم ميزات أمان متقدّمة، مثل تثبيت الشهادة.
عليك التأكّد من تعديل حِزمة الشهادة بنفسك. كما هو موضّح في الردّ على السؤال: لماذا يجب أن أبقي متجر شهادات الجذر متزامنًا مع حِزمة مرجع تصديق الجذر الموثوق به من Google؟، ننصحك باستيراد جميع الشهادات من حِزمة مرجع تصديق الجذر الموثوق به من Google إلى متجر شهادات الجذر الخاص بك.
في حال تثبيت الشهادات أو المفاتيح العامة لنطاقات Google التي يتصل بها تطبيقك، عليك إضافة الشهادات والمفاتيح العامة إلى قائمة الكيانات الموثوق بها في تطبيقك.
لمزيد من المعلومات عن تثبيت الشهادة أو المفتاح العام، يُرجى الرجوع إلى الموارد الخارجية المدرَجة ضمن السؤال هل أنت بحاجة إلى مزيد من المعلومات؟.
لماذا يجب أن أبقي مخزن شهادات الجذر متزامنًا مع حِزمة مرجع تصديق CA الجذر الموثوق به من Google؟
تتضمّن القائمة المنظَّمة لمراجع التصديق الجذر في مجموعة ملفات مرجع تصديق الجذر الموثوق به من Google جميع ملفات مرجع التصديق التي يُحتمل أن تستخدمها خدمات Google في المستقبل المنظور.
لذلك، إذا أردت ضمان توافق نظامك مع الإصدارات المستقبلية، ننصحك بشدة بالتأكّد من أنّ ملف تخزين الشهادات الجذر يحتوي على جميع الشهادات من الحِزمة، وننصحك أيضًا بالتزام مزامنة الملفَين.
ويُعدّ هذا الأمر مهمًا بشكل خاص إذا كانت خدماتك تعمل على إصدار نظام تشغيل لم يتم صيانته، أو إذا لم تتمكّن لأسباب أخرى من تحديث نظام التشغيل والمكتبات، أو إذا كنت تحافظ على تخزين شهادات الجذر الخاصة بك.
اطّلِع على السؤال كيف يمكنني الحصول على إشعار مُسبَق بعمليات نقل البيانات المستقبلية؟ لمعرفة كيفية الحصول على آخر المعلومات حول عمليات نقل بيانات CA الجذر المستقبلية. إنّ الاحتفاظ بنسخة من الشهادات الجذر في مخزن الشهادات بشكلٍ منتظم ومزامنة هذه النسخة مع القائمة المنظَّمة سيؤدي إلى حماية خدماتك من انقطاع الخدمة في المستقبل بسبب تغييرات مرجع التصديق، وسيحافظ على تشغيل خدماتك بعد انتهاء صلاحية كلٍّ من GTS Root R1 Cross وGlobalSign Root CA - R1.
يُرجى أيضًا الرجوع إلى السؤال التالي: أعمل على إنشاء منتج يتصل بخدمات Google. ما هي شهادات مرجع التصديق التي يجب الوثوق بها؟ يمكنك الاطّلاع على الأسئلة الشائعة حول برنامج GTS للحصول على مزيد من الاقتراحات.
لماذا يجب عدم تثبيت أي شهادات CA نهائية أو وسيطة؟
سيؤدي ذلك إلى إيقاف تطبيقك في أي وقت نُسجِّل فيه شهادة جديدة أو نبدِّل شهادات CA الوسيطة. قد يحدث أيّ من هذين الإجراءَين في أي
وقت وبدون أي إشعار مسبق، وينطبق ذلك بالتساوي على شهادات
الخادم الفردية، مثل تلك التي يوفّرها maps.googleapis.com
، بالإضافة إلى أي
من مراجِع التصديق الوسيطة، مثل GTS Root R1 Cross.
لحماية خدماتك من هذا الخطر، يجب فقط تثبيت شهادات الجذر من مجموعة موثوق بها من هيئة إصدار الشهادات الجذر في Google، وعدم الاعتماد إلا على شهادة الجذر وحدها للتحقّق من موثوقية سلسلة الشهادات بأكملها المرتبطة بها.
من المفترض أن يتمكّن أيّ تطبيق حديث لمكتبة TLS من التحقّق تلقائيًا من سلاسل الثقة هذه، ما دام مرجع تصديق الجذر موثوقًا به.
هل تطبيقات JavaScript معرّضة للتعطّل؟
إنّ شهادات GTS الجذرية مدمجة بشكل جيد وموثوق بها من قِبل معظم المتصفحات الحديثة، ومن المفترض أن تضمن التوقيع المتبادل من GMO GlobalSign عملية نقل سلسة حتى لمعظم المستخدمين النهائيين الذين يستخدمون المتصفّحات القديمة. ويشمل ذلك جميع المتصفّحات المتوافقة رسميًا مع واجهة برمجة التطبيقات Maps JavaScript API.
من المفترض أن يسمح كل متصفّح حديث للمستخدمين النهائيين بالتحقق من الشهادات التي يثق بها المتصفّح وتعديلها عادةً. على الرغم من أنّ الموقع الجغرافي الدقيق يختلف من متصفّح إلى آخر، يمكن عادةً العثور على قائمة الشهادات في مكان ما ضمن الإعدادات.
هل التطبيقات المتوافقة مع الأجهزة الجوّالة معرّضة للتعطّل؟
من المتوقّع أيضًا أن تكون أجهزة Android وApple iOS التي تتلقّى تحديثات منتظمة من الشركة المصنّعة للجهاز متوافقة مع الإصدارات المستقبلية. تتضمّن معظم طُرز هواتف Android القديمة شهادة GlobalSign Root CA - R1 على الأقل، على الرغم من أنّ قائمة الشهادات الموثوق بها قد تختلف حسب الشركة المصنّعة للهاتف والطراز وإصدار Android.
ومع ذلك، قد يظل استخدام خدمات إصدار GTS من هيئة إصدار الشهادات الجذر، بما في ذلك GTS Root R1، محدودًا في إصدارات Android الأقدم من 10.
بالنسبة إلى أجهزة iOS، تحتفظ Apple بقائمة بشهادات CA الجذر الموثوق بها لكل إصدار حديث من iOS على صفحات الدعم. ومع ذلك، تتيح جميع إصدارات iOS 5 والإصدارات الأحدث استخدام مرجع تصديق الجذر 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 Root CA الجديدة من Google، بما في ذلك GTS Root R1، ومن المرجّح أيضًا أن تكون الأنظمة القديمة متوافقة مع GlobalSign Root CA - 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 Maps Platform. ملاحظة: بالنسبة إلى المشاكل المتعلّقة بالمنصة، يتم تقديم الإرشادات فقط على أساس جهدنا المبذول.
- يمكنك إضافة علامة إلى المشكلة العامة 186840968 للحصول على آخر الأخبار المتعلّقة بنقل البيانات.
التواصل مع فريق دعم "منصة خرائط Google"
الخطوات الأولى لتحديد المشاكل وحلّها
اطّلِع على القسم كيفية التحقّق مما إذا كان يجب تحديث مخزن الشهادات الجذر للحصول على تعليمات عامة لتحديد المشاكل وحلّها.
قد يقدّم القسم إدارة شهاداتك الموثوق بها أيضًا معلومات قيّمة، إذا كنت بحاجة إلى استيراد شهادات الجذر أو تصديرها.
إذا لم يتم حلّ المشكلة وقرّرت التواصل مع فريق دعم Google Maps Platform، يُرجى الاستعداد لتقديم المعلومات التالية أيضًا:
- ما هو الموقع الجغرافي للخوادم المتأثرة؟
- ما هي عناوين 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;
للحصول على تعليمات حول كيفية الحصول على الأدوات المطلوبة، يُرجى الاطّلاع على السؤال أين يمكنني الحصول على الأدوات التي أحتاجها؟.
تقديم طلب الحصول على الدعم
يُرجى اتّباع تعليمات إنشاء طلب دعم ضمن موارد ودعم "منصة خرائط Google".
عند إرسال طلب الحصول على الدعم، يُرجى أيضًا تقديم الخطوات التالية بالإضافة إلى البيانات الواردة في القسم تحديد المشاكل وحلّها بشكل مبدئي:
- ما هي عناوين IP المتاحة للجميع؟
- ما هو عنوان IP العام لخادم نظام أسماء النطاقات؟
- إذا أمكن، يجب استخدام أداة 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
،
يمكنك طباعة الشهادة المعروضة باتّباع الخطوات التالية:
انسخ الشهادة المشفّرة بالكامل بترميز Base64، بما في ذلك الرأس والتذييل:
-----BEGIN CERTIFICATE----- … -----END CERTIFICATE-----
بعد ذلك، اتّبِع الخطوات التالية:
openssl x509 -inform pem -noout -text ````
بعد ذلك، الصِق محتويات ذاكرة التخزين المؤقت للنسخ في المحطة الطرفية.
اضغط على مفتاح Return.
للحصول على أمثلة على الإدخالات والنواتج، راجِع القسم كيفية طباعة شهادات PEM بتنسيق يمكن للمستخدمين قراءته.
كيف تبدو شهادات Google الموقَّعة بشكل متبادل في OpenSSL؟
…
---
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، استنادًا إلى عملية التحقّق اليدوي باستخدام صور نظام الجهاز الافتراضي (AVD) المتوفّرة حاليًا لنظام Android، مع الرجوع إلى سجلّ إصدارات مستودع Git الخاص بـ AOSP ca-certificates، حيث لم تعُد صور النظام متاحة:
إصدار 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، ويمكن إدارته باستخدام أداة سطر الأوامر Java keytool
.
لاستيراد شهادة فردية إلى "مخزن شهادات Java"، أدخِل الأمر التالي:
keytool -import -trustcacerts -file cert.pem -alias alias -keystore certs.jks
ما عليك سوى استبدال cert.pem
بملف الشهادة المرتبط بكل شهادة جذر مقترَحة، وalias
باسم بديل فريد وذي معنى لشهادة العميل، وcerts.jks
بملف قاعدة بيانات الشهادات المستخدَم في
بيئتك.
لمزيد من المعلومات، يُرجى الرجوع إلى مقالتَي Oracle وStack Overflow التالية:
- Java Platform، مرجع أدوات الإصدار العادي: 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
قد يجد مطوّرو .NET في Windows مقالات 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.
كيف يمكنني تصدير الشهادات من متجر شهادات الجذر في 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.
طباعة الشهادات باستخدام أداة Java Keytool
إصدار الأمر التالي
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
، يُرجى الاطّلاع على القسم
الحصول على أداة Java Keytool.
كيف يمكنني الاطّلاع على الشهادات المثبَّتة في مخزن شهادات الجذر؟
ويختلف ذلك حسب نظام التشغيل ومكتبة SSL/TLS. ومع ذلك، فإنّ الأدوات التي تسمح باستيراد الشهادات وتصديرها من وإلى ملف تخزين شهادات الجذر توفّر عادةً أيضًا خيارًا لعرض الشهادات المثبَّتة.
بالإضافة إلى ذلك، إذا نجحت في تصدير شهادات الجذر الموثوق بها إلى ملفات 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-----
فريدة لكل هيئة إصدار شهادات.
ومع ذلك، حتى في حال عدم توفّر الأدوات المذكورة أعلاه، يمكنك مطابقة موثوق بها لمراجع تصديق الجذر من الحزمة مع
تلك الواردة من مخزن شهادات الجذر إما باستخدام Issuer
أو من خلال مقارنة
سلاسل شهادات ملف PEM.
قد تستخدم متصفّحات الويب مخبّر شهادات الجذر الخاص بها، أو تعتمد على التلقائي الذي يوفّره نظام التشغيل. ومع ذلك، من المفترض أن تسمح لك جميع المتصفحات الحديثة بإدارة مجموعة موفِّري خدمات إصدار الشهادات الجذر الموثوق بهم أو عرضها على الأقل. اطّلِع على السؤال هل تطبيقات JavaScript معرّضة للتوقف عن العمل؟ لمزيد من التفاصيل.
للحصول على تعليمات خاصة بالأجهزة الجوّالة، يُرجى الاطّلاع على السؤال المنفصل: كيف يمكنني التحقّق من شهادات الجذر الموثوق بها على هاتفي الجوّال؟.
الملحق
هل تحتاج إلى مزيد من المعلومات؟
يجب الاعتماد دائمًا بشكل أساسي على مستندات نظام التشغيل ومستندات لغات برمجة التطبيقات، بالإضافة إلى مستندات أي مكتبات خارجية يستخدمها تطبيقك.
قد يكون أي مصدر آخر للمعلومات بما في ذلك هذه الأسئلة الشائعة قديمًا أو غير صحيح بأي شكل من الأشكال، ويجب عدم الاعتماد عليه. ومع ذلك، قد يظل بإمكانك العثور على معلومات مفيدة في العديد من منتديات Stack Exchange للأسئلة والأجوبة، بالإضافة إلى مواقع إلكترونية مثل AdamW on Linux and more وconfirm blog، وغيرها.
يُرجى أيضًا الاطّلاع على الأسئلة الشائعة حول Google Trust Services.
لمزيد من التفاصيل حول المواضيع المتقدّمة، مثل تثبيت الشهادة، يمكنك قراءة مقالة تثبيت الشهادة والمفتاح العام ومقالة ملخّص معلومات حول تثبيت الشهادة في مشروع Open Web Application Security Project (OWASP). للحصول على تعليمات خاصة بنظام التشغيل Android، يُرجى الرجوع إلى مستند التدريب الرسمي أفضل ممارسات Android للخصوصية والأمان الأمان باستخدام HTTPS وSSL. للاطّلاع على مناقشة حول الشهادة في مقابل تثبيت المفتاح العام على Android، يمكنك الاطّلاع على منشور المدوّنة الذي كتبه "ماتيو دولان" بعنوان أمان Android: تثبيت طبقة المقابس الآمنة (SSL) .
أفضل ممارسات Android المتعلقة بالأمان والخصوصية إعداد أمان الشبكة المستند التدريبي ومقالة مدوّنة JeroenHD Android 7 Nougat ومراجع التصديق يقدّمان مزيدًا من المعلومات حول إدارة الشهادات الموثوق بها الإضافية على Android.
للحصول على قائمة شاملة بمرجع تصديق الجذر الموثوق به من خلال AOSP، يُرجى الرجوع إلى مستودع GitHub الخاص بملف ca-certificates. بالنسبة إلى أي إصدارات تستند إلى إصدارات غير رسمية من Android، مثل LineageOS، يُرجى الرجوع إلى المستودعات المناسبة التي يوفّرها موفّر نظام التشغيل.