مولّد شهادات SSL
الهوية
الشهادة
المفتاح الخاص (ابقه سريًا!)
الشهادات ذاتية التوقيع غير موثوقة افتراضيًا من المتصفحات: استخدمها فقط للتطوير المحلي أو الاختبار أو الشبكات الخاصة.
أنشئ شهادة موقّعة ذاتيًا للتطوير المحلي أو الاختبار الداخلي، مباشرةً داخل متصفحك. تختار حجم مفتاح RSA (2048 أو 3072 أو 4096 بت)، واسم Common Name، وأسماء Subject Alternative Names، ونافذة الصلاحية، وبيانات المؤسسة الأساسية. تُنشأ الشهادة ومفتاحها الخاص داخل متصفحك ولا تُرسل أبدًا إلى خادمنا، وتنزّل كليهما كملفات PEM جاهزة لـ Nginx أو Apache.
كيف يعمل توليد الشهادة
-
1
اختر حجم مفتاح RSA
2048 بت كافٍ لمعظم الاختبارات؛ ويمنح 3072 أو 4096 مفتاحًا أكبر على حساب السرعة.
-
2
أدخل الموضوع وأسماء SAN
اسم Common Name بالإضافة إلى كل اسم مضيف أو IP ينبغي أن تغطّيه الشهادة (تتجاهل المتصفحات الحديثة CN وتعتمد على SAN).
-
3
أنشئ داخل المتصفح
تُنشأ شهادة موقّعة ذاتيًا وتُوقَّع بالمفتاح الخاص المطابق، كل ذلك محليًا داخل متصفحك.
-
4
نزّل الناتج
شهادة مُرمَّزة بصيغة PEM (`cert.pem`) والمفتاح الخاص بصيغة PEM (`key.pem`)، جاهزان للتثبيت.
كل شيء يحدث داخل متصفحك
يعمل هذا المولّد بالكامل داخل متصفحك. يُنشأ زوج مفاتيح RSA محليًا بواجهة Web Crypto API المدمجة في المتصفح، وتُوقَّع الشهادة على جهازك، ولا يُرفع إلى خادمنا أبدًا لا المفتاح الخاص ولا الشهادة. ومع ذلك، عامِل المفتاح الخاص كسرّ: فمن يملكه يستطيع انتحال الشهادة.
ماذا يعني موقّعة ذاتيًا
أنت المُصدِر والموضوع في آنٍ واحد: تُوقَّع الشهادة بمفتاحها الخاص، فلا تضمنها أي جهة تصديق (CA) عامة. ولذلك تعرض المتصفحات تحذيرًا. وهي صالحة للاختبار والتطوير المحلي (localhost وdev.local) والخوادم الداخلية حيث يمكنك توزيع الشهادة على العملاء الذين يحتاجون إلى الوثوق بها.
إذا كنت تحتاج إلى شهادة يثق بها الإنترنت العام، فهذه الأداة ليست الخطوة المناسبة: تحتاج إلى شهادة موقّعة من CA (مثل Let’s Encrypt أو CA مدفوعة)، وهو ما يتطلّب طلب توقيع شهادة (CSR) والتحقق من النطاق، وهما ما لا تنفّذه هذه الأداة داخل المتصفح.
ماذا يوجد داخل الشهادة
| الحقل | ملاحظات |
|---|---|
| الموضوع (CN، O، C) | Common Name والمؤسسة والدولة |
| Subject Alternative Names | كل نطاق أو IP مُغطّى (بالغ الأهمية!) |
| المفتاح العام | RSA، مُشتق من المفتاح الخاص المُولَّد |
| الجهة المُصدِرة | نفس الموضوع، لأنها موقّعة ذاتيًا |
| الصلاحية | Not Before / Not After (أيام صلاحيتك) |
| Key Usage | digitalSignature وkeyEncipherment |
| Extended Key Usage | serverAuth وclientAuth |
| Basic Constraints | CA:FALSE (شهادة طرفية، لا CA) |
ملفات المخرجات
key.pem، المفتاح الخاص (احمِه، الوضع 0600)cert.pem، الشهادة الموقّعة ذاتيًا (عامة، قابلة للتوزيع)
لـ Nginx
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/ssl/certs/cert.pem;
ssl_certificate_key /etc/ssl/private/key.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
}
لـ Apache 2.4+
<VirtualHost *:443>
ServerName example.com
SSLEngine on
SSLCertificateFile /etc/ssl/certs/cert.pem
SSLCertificateKeyFile /etc/ssl/private/key.pem
</VirtualHost>
الوثوق بالشهادة على أجهزتك الخاصة
لإسكات تحذير المتصفح على جهاز تتحكم به، استورد cert.pem إلى مخزن الثقة في ذلك النظام أو المتصفح. افعل ذلك فقط للشهادات التي أنشأتها بنفسك، وعلى الأجهزة التي تملكها. تُؤتمِت أدوات مثل mkcert إنشاء CA محلية لعدة خدمات؛ أما هذا المولّد فينتج شهادة موقّعة ذاتيًا واحدة في كل مرة.
ما لا تصلح له الشهادة الموقّعة ذاتيًا
- المواقع العامة. يرى المستخدمون تحذيرًا، ويغادر كثيرون.
- تكاملات واجهات برمجة التطبيقات لأطراف خارجية. يرفض معظم العملاء الجهات المُصدِرة المجهولة.
- الإنتاج. قطعًا لا. استخدم Let’s Encrypt (مجانًا) أو CA مدفوعة لأي شيء على الإنترنت المفتوح.
الأسئلة الشائعة
لا. يُولَّد زوج المفاتيح والشهادة داخل متصفحك ويبقيان على جهازك؛ ولا يُرفع أي شيء. ومع ذلك، احتفظ بملف key.pem المُنزَّل خاصًا، لأن من يملكه يستطيع انتحال الشهادة.
لا، إذا كان سيتصل بها أطراف خارجية. تعرض المتصفحات تحذيرًا واضحًا. استخدم شهادة موقّعة من CA مجانية (Let’s Encrypt وZeroSSL) أو مدفوعة. تصلح الموقّعة ذاتيًا للاتصال بين آلة وأخرى داخل شبكة داخلية تتحكم فيها بالطرفين.
كان CN تاريخيًا يحمل النطاق الأساسي. تتجاهل المتصفحات الحديثة CN عند التحقق من المضيف وتعتمد على SAN وحدها. ضع دائمًا كل اسم مضيف في SAN؛ واجعل CN هو النطاق الأساسي فقط لغرض التعريف المقروء.
نعم، ضع *.example.com في أسماء SAN. تغطّي مستوى واحدًا من النطاقات الفرعية. ولعدة مستويات، أضف عدة أحرف بدل (*.example.com و*.dev.example.com).
أدوات ذات صلة
مولد JWT
قم بتوليد وثائق التوقيع الرقمية الموقعة (JWT) التي تحتوي على رأس مخصص، ومطالب حمل البيانات، وطريقة توقيع باستخدام HMAC أو RSA، بالإضافة إلى قيود على مدة الصلاحية والجمهور المستهدف، وذلك لأغراض الاختبار.
مولّد MD5
أنشئ قيمة تجزئة MD5 من أي نص أو ملف، بطول 128 بت وبصيغة سداسية عشرية، ويُحسب كل ذلك بالكامل داخل متصفحك.
معرّف التشفير
قم بلصق نص مشفر أو قيمة هاش، وسيقترح المعرّف خوارزميات أو أنظمة ترميز محتملة مثل MD5 وSHA وbcrypt وAES وRSA وBase64 وغيرها.
مولد هاش
أنشئ قيم تجزئة MD5 وSHA-1 وSHA-256 وSHA-384 وSHA-512 وCRC32 من النصوص، مع ملخّص جاهز للنسخ لاستخدامه في فحوص المجموع والمقارنات.
معرف التشفير
قم بلصق النص المشفر وسيقترح المعرف أنظمة تشفير/ترميز محتملة: Base64، وHex، وثنائي، ومورس، وسيزر أو إبدال، وJWT، والتجزئات الشائعة.
مولّد HMAC
يُولِّد توقيعات HMAC (SHA-256، SHA-384، SHA-512، SHA-1، MD5) من رسالة ومفتاح سري لاستخدامها في مصادقة واجهات برمجة التطبيقات (APIs) والويب هوكز (webhooks).
الأداة متاحة بلغات أخرى
- Generator certyfikatów SSL [PL]
- เครื่องมือสร้างใบรับรอง SSL [TH]
- Generador de certificados SSL [ES]
- SSL証明書ジェネレーター [JA]
- SSL 인증서 생성기 [KO]
- Trình tạo chứng chỉ SSL [VI]
- Générateur de certificat SSL [FR]
- SSL-Zertifikat-Generator [DE]
- Generator Sertifikat SSL [ID]
- Gerador de certificado SSL [PT]
- SSL-certifikatgenerator [SV]
- SSL-certificaatgenerator [NL]
- SSL Certificate Generator [EN]
- Generatore di certificati SSL [IT]
- Генератор SSL-сертификатов [RU]
- SSL Sertifikası Oluşturucu [TR]
- SSL 证书生成器 [ZH]