mkcert هي أداة بسيطة لإنشاء شهادات تطوير موثوقة محليًا. لا يتطلب أي تكوين.
$ mkcert -install Created a new local CA ? The local CA is now installed in the system trust store! ⚡️ The local CA is now installed in the Firefox trust store (requires browser restart)! ? $ mkcert example.com "*.example.com" example.test localhost 127.0.0.1 ::1 Created a new certificate valid for the following names - "example.com" - "*.example.com" - "example.test" - "localhost" - "127.0.0.1" - "::1" The certificate is at "./example.com+5.pem" and the key at "./example.com+5-key.pem" ✅
قد يكون استخدام شهادات من المراجع المصدقة الحقيقية (CAs) للتطوير أمرًا خطيرًا أو مستحيلًا (بالنسبة للمضيفين مثل example.test
أو localhost
أو 127.0.0.1
)، لكن الشهادات الموقعة ذاتيًا تسبب أخطاء ثقة. تعد إدارة CA الخاصة بك هي الحل الأفضل، ولكنها تتضمن عادةً أوامر غامضة ومعرفة متخصصة وخطوات يدوية.
يقوم mkcert تلقائيًا بإنشاء وتثبيت CA محلي في المتجر الجذر للنظام، ويقوم بإنشاء شهادات موثوقة محليًا. لا يقوم mkcert بتكوين الخوادم تلقائيًا لاستخدام الشهادات، على الرغم من أن الأمر متروك لك.
تحذير : يمنح الملف
rootCA-key.pem
الذي ينشئه mkcert تلقائيًا القدرة الكاملة على اعتراض الطلبات الآمنة من جهازك. لا تشاركه.
على نظام التشغيل macOS، استخدم Homebrew
brew install mkcert brew install nss # if you use Firefox
أو ماكبورتس.
sudo port selfupdate sudo port install mkcert sudo port install nss # if you use Firefox
على نظام التشغيل Linux، قم أولاً بتثبيت certutil
.
sudo apt install libnss3-tools -or- sudo yum install nss-tools -or- sudo pacman -S nss -or- sudo zypper install mozilla-nss-tools
ثم يمكنك التثبيت باستخدام Homebrew على Linux
brew install mkcert
أو البناء من المصدر (يتطلب Go 1.13+)
git clone https://github.com/FiloSottile/mkcert && cd mkcert go build -ldflags "-X main.Version=$(git describe --tags)"
أو استخدم الثنائيات المعدة مسبقًا.
curl -JLO "https://dl.filippo.io/mkcert/latest?for=linux/amd64" chmod +x mkcert-v*-linux-amd64 sudo cp mkcert-v*-linux-amd64 /usr/local/bin/mkcert
بالنسبة لمستخدمي Arch Linux، يتوفر mkcert
على مستودع Arch Linux الرسمي.
sudo pacman -Syu mkcert
على نظام التشغيل Windows، استخدم Chocolatey
choco install mkcert
أو استخدم سكوب
scoop bucket add extras scoop install mkcert
أو البناء من المصدر (يتطلب الإصدار 1.10+)، أو استخدام الثنائيات المعدة مسبقًا.
إذا كنت تواجه مشاكل في الأذونات، فحاول تشغيل mkcert
كمسؤول.
يدعم mkcert المتاجر الجذرية التالية:
متجر نظام ماك
مخزن نظام ويندوز
متغيرات Linux التي توفر أيًا منهما
update-ca-trust
(Fedora أو RHEL أو CentOS) أو
update-ca-certificates
(Ubuntu، Debian، OpenSUSE، SLES) أو
trust
(القوس)
فايرفوكس (نظامي التشغيل MacOS وLinux فقط)
الكروم والكروم
Java (عند تعيين JAVA_HOME
)
لتثبيت المرجع المصدق الجذر المحلي فقط في مجموعة فرعية منها، يمكنك تعيين متغير البيئة TRUST_STORES
إلى قائمة مفصولة بفواصل. الخيارات هي: "system" و"java" و"nss" (بما في ذلك Firefox).
-cert-file FILE, -key-file FILE, -p12-file FILE Customize the output paths. -client Generate a certificate for client authentication. -ecdsa Generate a certificate with an ECDSA key. -pkcs12 Generate a ".p12" PKCS #12 file, also know as a ".pfx" file, containing certificate and key for legacy applications. -csr CSR Generate a certificate based on the supplied CSR. Conflicts with all other flags and arguments except -install and -cert-file.
ملاحظة: يجب عليك وضع هذه الخيارات قبل قائمة أسماء النطاقات.
mkcert -key-file key.pem -cert-file cert.pem example.com *.example.com
يقوم mkcert تلقائيًا بإنشاء شهادة S/MIME إذا كان أحد الأسماء المقدمة هو عنوان بريد إلكتروني.
mkcert [email protected]
لكي يتم الوثوق بالشهادات على الأجهزة المحمولة، سيتعين عليك تثبيت المرجع المصدق الجذر. إنه الملف rootCA.pem
الموجود في المجلد المطبوع بواسطة mkcert -CAROOT
.
على نظام التشغيل iOS، يمكنك إما استخدام AirDrop، أو إرسال CA بالبريد الإلكتروني إلى نفسك، أو تقديمه من خادم HTTP. بعد فتحه، تحتاج إلى تثبيت ملف التعريف في الإعدادات > تنزيل الملف الشخصي ثم تمكين الثقة الكاملة فيه.
بالنسبة لنظام التشغيل Android، سيتعين عليك تثبيت CA ثم تمكين جذور المستخدم في بناء تطوير تطبيقك. راجع إجابة StackOverflow هذه .
لا تستخدم Node مخزن جذر النظام، لذلك لن تقبل شهادات mkcert تلقائيًا. بدلاً من ذلك، سيتعين عليك تعيين متغير البيئة NODE_EXTRA_CA_CERTS
.
export NODE_EXTRA_CA_CERTS="$(mkcert -CAROOT)/rootCA.pem"
يتم تخزين شهادة CA ومفتاحها في مجلد بيانات التطبيق في منزل المستخدم. لا داعي للقلق عادةً بشأن هذا الأمر، حيث يتم التثبيت تلقائيًا، ولكن تتم طباعة الموقع بواسطة mkcert -CAROOT
.
إذا كنت تريد إدارة مراجع مصدقة منفصلة، يمكنك استخدام متغير البيئة $CAROOT
لتعيين المجلد الذي سيضع فيه mkcert ملفات CA المحلية ويبحث عنها.
لا يتطلب التثبيت في المتجر الموثوق به مفتاح CA، لذا يمكنك تصدير شهادة CA واستخدام mkcert لتثبيتها على أجهزة أخرى.
ابحث عن الملف rootCA.pem
في mkcert -CAROOT
نسخه إلى جهاز مختلف
اضبط $CAROOT
على الدليل الخاص به
تشغيل mkcert -install
تذكر أن mkcert مخصص لأغراض التطوير، وليس الإنتاج، لذا لا ينبغي استخدامه على أجهزة المستخدمين النهائيين، وأنه لا يجب عليك تصدير أو مشاركة rootCA-key.pem
.