Mkcert: شهادات HTTPS صالحة للمضيف المحلي


في الوقت الحاضر ، أصبح استخدام HTTPS إلزاميًا لجميع المواقع وتطبيقات الويب. ولكن في عملية التطوير هناك مشكلة الاختبار الصحيح. وبطبيعة الحال ، لا نقوم بإصدار تشفير دعائي و CA الأخرى لإصدار شهادات المضيف المحلي.

تقليديا ، هناك حلان.

  1. شهادات موقعة ذاتيا يتم إنشاؤها عن طريق opensl أو غيرها ، وهنا أسهل طريقة لإنشاء مفتاح خاص وشهادة موقعة ذاتيا للمضيف المحلي:

    openssl req -x509 -out localhost.crt -keyout localhost.key \ -newkey rsa:2048 -nodes -sha256 \ -subj '/CN=localhost' -extensions EXT -config <( \ printf "[dn]\nCN=localhost\n[req]\ndistinguished_name = dn\n[EXT]\nsubjectAltName=DNS:localhost\nkeyUsage=digitalSignature\nextendedKeyUsage=serverAuth") 

    لكن هذه الشهادة ستتسبب في حدوث أخطاء في المتصفحات بسبب عدم وجود مرجع مصدق مطابق في المتجر الموثوق.
  2. الخدعة هي تسجيل مجال جديد مثل localhost.example.com ، والذي يحل محليا على 127.0.0.1 (في / etc / hosts) ، للحصول على الشهادة المعتادة لهذا المجال. لكن مثل هذا الاحتيال مشكوك فيه من وجهة نظر أمنية - على الأقل بالنسبة للخدمات العامة ، لا ينصح بشدة بهذا الحل بسبب هجوم MiTM محتمل مع تغيير عنوان IP العدائي. إذا قصرنا أنفسنا على الجهاز المحلي فقط ، فقد يكون هذا خيارًا مناسبًا ، على الرغم من وجود بعض الشكوك أيضًا. بالإضافة إلى ذلك ، قد يتم إبطال هذه الشهادة. في أي حال ، هناك خيار أكثر بساطة وأكثر أمانا (انظر أدناه).

هذا هو mkcert ، وهي أداة بسيطة لإنشاء شهادات موثوق بها محليًا مع المرجع المصدق الخاص بها . وهو يعمل تحت جميع أنظمة التشغيل ولا يتطلب أي تكوين.

نسخة لينكس


تحتاج أولا إلى تثبيت certutil .

 sudo apt install libnss3-tools -- sudo yum install nss-tools -- sudo pacman -S nss 

اذن

 brew install mkcert 

أو ترجمة من المصدر:

 go get -u github.com/FiloSottile/mkcert $(go env GOPATH)/bin/mkcert 

إصدار ماك


 brew install mkcert brew install nss # if you use Firefox 

نسخة ويندوز


ضمن Windows ، يمكنك تنزيل الثنائيات التي تم جمعها أو استخدام أحد مديري الحزم: Chocolatey أو Scoop.

 choco install mkcert -- scoop install mkcert 

يعد وجود مرجع مصدق محلي هو الفرق الأساسي الأكثر أهمية بين mkcert و opensl والشهادات الموقعة ذاتيا ، لأنه عند تشغيل مثل المرجع المصدق ، لا تحدث أخطاء ثقة محليًا.

من حيث المبدأ ، يمكنك بدء تكوين المرجع المصدق الخاص بك وتكوينه باستخدام وسائل أخرى ، ولكن هذا يتطلب معرفة ومهارات غير تافهة. كل شيء يتم هنا بمفرده ، دون أي مفاتيح وإعدادات إضافية. ما عليك سوى تثبيت البرنامج - ويقوم تلقائيًا بإنشاء مرجع مصدق محلي وإدخاله في وحدة تخزين موثوق بها للنظام وتخزين موثوق به في Firefox.

 $ mkcert -install Created a new local CA at "/Users/filippo/Library/Application Support/mkcert" The local CA is now installed in the system trust store! ️ The local CA is now installed in the Firefox trust store (requires restart)! 

Source: https://habr.com/ru/post/ar435476/


All Articles