ما هو مولّد مفاتيح RSA؟
أنشئ أزواج مفاتيح RSA بخصوصية تامة باستخدام واجهة Web Crypto API. اختر أحجام مفاتيح من 1024 إلى 4096 بت وصدّرها بتنسيق PEM للاستخدام مع SSH وشهادات TLS وتوقيع JWT والاتصالات المشفرة. مفتاحك الخاص لا يغادر جهازك أبداً.
تُجري Web Crypto API كل العمليات الحسابية الثقيلة على جهازك — فالمفاتيح لا تغادر جهازك أبدًا. اختر 1024 أو 2048 أو 3072 أو 4096 بت، وحدِّد ما إذا كان الزوج للتشفير (RSA-OAEP) أم للتوقيع (RSASSA-PKCS1-v1_5). صدِّر بأربع صيغ: PEM PKCS#8 (الافتراضي الحديث)، أو PEM PKCS#1 (كتل RSA التقليدية)، أو JWK لأنظمة JWT وOIDC، أو سطر OpenSSH ssh-rsa يمكنك لصقه مباشرةً في authorized_keys. وتتيح لك بصمة SHA-256 مطابقة المفتاح مع سجلات خادمك. ويمكنك اختياريًا حماية المفتاح الخاص بعبارة مرور — يُغلَّف عندها كـ EncryptedPrivateKeyInfo متوافق مع المعايير (PBES2 + PBKDF2-HMAC-SHA256 + AES-256-CBC)، ويُفكّ تشفيره لاحقًا بـ openssl pkcs8. وإن لم يبقَ لديك سوى المفتاح الخاص، فالصقه في تبويب «اشتقاق المفتاح العام» لاستعادة المفتاح العام المطابق.
كيفية الاستخدام
- اختر حجم مفتاح RSA (يُوصى بـ 2048 أو 4096 بت للاستخدام الإنتاجي).
- اختر صيغة الإخراج (PKCS#8 أو PKCS#1 أو JWK أو OpenSSH)، ويمكنك اختياريًا تعيين عبارة مرور لتشفير المفتاح الخاص، ثم اضغط «توليد» لإنشاء الزوج على جهازك.
- انسخ المفتاحين العام والخاص أو نزّلهما بالصيغة التي اخترتها.
متى تستخدم
- توقيع JWT في مشروع لا يُسمح فيه بإخراج المفتاح الخاص إلى أي خدمة طرف ثالث.
- توليد أزواج مفاتيح للاستخدام مرة واحدة في اختبارات الوحدة أو بيئات الـ staging أو runners الـ CI.
- إصدار مفتاح جديد لمستخدم SSH أو لتذكرة انضمام موظف جديد.
النتيجة
أنشئ زوج مفاتيح RSA بطول 4096 بت لتوقيع رموز JWT. يوضع المفتاح العام في إعدادات خادم المصادقة، بينما يبقى المفتاح الخاص على جهازك الآمن.
الأسئلة الشائعة
- هل أختار 2048 أم 4096 بِتّاً؟
- 2048 هو الحد الأدنى الحالي للإنتاج، وأغلب شهادات TLS لا تزال تستعمله. 4096 يضيف نحو 10 إلى 20 سنة من هامش الأمان لكن التوقيع به أبطأ بحوالى 5 أضعاف. أما 1024 فمكسور في أي نموذج تهديد حديث ولا يُستعمل إلا للتوافق مع أنظمة قديمة.
- هل أستعمل الزوج نفسه للتشفير والتوقيع معاً؟
- تقنياً ممكن، لكنه قرار سيئ. Web Crypto API تجبرك على اختيار غرض واحد لكل مفتاح، وهذا متوافق مع توصية NIST. خلط العمليتين على مفتاح واحد يفتح هجمات على مستوى البروتوكول ويُعقّد تدوير المفاتيح. الأنسب توليد زوجين منفصلين.
- كيف أحصل على مفتاح SSH من هذه الأداة؟
- اختر صيغة OpenSSH (أو الإعداد السريع «مفتاح SSH»): يخرج الجانب العام كسطر ssh-rsa جاهز لـ authorized_keys، والجانب الخاص هو PEM بصيغة PKCS#8 قياسي تحفظه باسم id_rsa. وإن كان لديك مفتاح خاص بصيغة PEM مسبقًا، يمكنك أيضًا تشغيل ssh-keygen -y -f id_rsa > id_rsa.pub لاشتقاق السطر العام، أو puttygen --to-openssh لـ PuTTY. وكلاهما يقبل دخل PKCS#8 وPKCS#1 مباشرةً.
- هل لا يزال اختيار RSA منطقياً في 2026 بدلاً من Ed25519؟
- Ed25519 أسرع، مفاتيحه بطول 256 بِتّاً، وهو الخيار الافتراضي الحديث لـ SSH والتوقيع. يُختار RSA حين تكون التوافقية الواسعة ضرورية: جذور TLS، مكتبات JWT بإعدادات تحفظية، HSM قديم، SAML قديم، أو أي مستهلك لا يدعم EdDSA بعد.
- ماذا تقول لي بصمة SHA-256 فعلياً؟
- هي ملخّص تشفيري قصير للمفتاح العام (بايتات SPKI). قارِنها عبر قناة أخرى — مكالمة، رسالة Signal، أو وجهاً لوجه — للتأكد أن المفتاح الذي وصلك هو فعلاً الذي ولّده الطرف الآخر ولم يُستبدل.