شهادات SSL الموقعة ذاتيًا في Chrome 58

منذ إطلاق Let's Encrypt ، أصبحت المواقع الإلكترونية المشفرة ممارسة شائعة. كما أن شهادات SSL ضرورية للغاية في التطوير المحلي (على سبيل المثال، تتطلب navigator.geolocation تشفير SSL محليًا). منذ إصدار Chrome 58، تم إيقاف دعم CN (الاسم الشائع)، وأصبح SAN (اسم الموضوع البديل) إلزاميًا. ونتيجة لذلك، لم يعد Chrome يقبل أي شهادات SSL تم إنشاؤها باستخدام الطرق التقليدية .


شهادات SSL الموقعة ذاتيًا في Chrome 58

يمكنك استخدام أدوات عبر الإنترنت مثل ZeroSSL لإنشاء شهادات أو جعل Chrome يعمل بدون شهادات صالحة مع معلمات بدء مثل --ignore-certificate-errors أو العلامة chrome://flags/#allow-insecure-localhost؛ ومع ذلك، نريد إنشاء شهادات موقعة ذاتيًا محليًا باستخدام OpenSSL والتي تتضمن SAN ويتم قبولها بالكامل بواسطة Chrome. يقوم هذا الخط الواحد بكل ما هو ضروري (يجب استبدال www.tld.local فقط بالنطاق المطلوب):

61b7be9883ad31712c52a59252a4c9c4

نظرًا لأن OpenSSL للأسف لا يحتوي على وسيطات مباشرة لتحديد SAN ، يتم إنشاء ملف التكوين أولاً ، ويتم استدعاء OpenSSL معه ثم يتم حذف الملف. يمكن لمستخدمي Windows تنفيذ هذا الأمر بسهولة إما بمساعدة Cygwin (و bash -c "...") أو باستخدام WSL الجديد. يمكن بعد ذلك تحديد الملفين الناتجين www.tld.local.key و www.tld.local.cert في MAMP ، على سبيل المثال:

شهادات SSL الموقعة ذاتيًا في Chrome 58

يقوم مستخدمو Windows بالتحميل ضمن "إدارة شهادات المستخدم" (certmgr) في "المراجع المصدقة الجذر الموثوقة":

شهادات SSL الموقعة ذاتيًا في Chrome 58

أخيرًا ، أعد تشغيل Chrome (chrome: // reset) واستمتع بالقفل الأخضر:

شهادات SSL الموقعة ذاتيًا في Chrome 58

عودة