في الوقت الحاضر ، أصبح استخدام HTTPS إلزاميًا لجميع المواقع وتطبيقات الويب. ولكن في عملية التطوير هناك مشكلة الاختبار الصحيح. وبطبيعة الحال ، لا نقوم بإصدار تشفير دعائي و CA الأخرى لإصدار شهادات المضيف المحلي.
تقليديا ، هناك حلان.
- شهادات موقعة ذاتيا يتم إنشاؤها عن طريق 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")
لكن هذه الشهادة ستتسبب في حدوث أخطاء في المتصفحات بسبب عدم وجود مرجع مصدق مطابق في المتجر الموثوق. - الخدعة هي تسجيل مجال جديد مثل 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
نسخة ويندوز
ضمن 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)!