UTILS.
‎100%‎ داخل المتصفح
🗝️

مولّد أزواج مفاتيح RSA / EC (تصدير PEM)

ولّد زوج مفاتيح RSA أو EC في متصفحك بـ WebCrypto وصدّر المفتاحين العام والخاص كـ PEM أو JWK. لا تغادر المفاتيح جهازك أبداً.

تُولَّد المفاتيح محلياً في متصفحك — لا يُرفَع المفتاح الخاص أبداً.

— يظهر المخرج هنا —
— يظهر المخرج هنا —

حول هذه الأداة

ينشئ مولّد أزواج مفاتيح RSA / EC زوج مفاتيح غير متماثل بالكامل في متصفحك باستخدام واجهة WebCrypto الأصلية (crypto.subtle.generateKey)، ثم يصدّره بالصيغ التي تلصقها فعلاً في ملفات الإعداد والشيفرة. لا يُنقَل أو يُخزَّن أي شيء على خادم: يُولَّد المفتاح الخاص على جهازك، ويُعرَض مرة واحدة، ويُتلَف عند مغادرتك الصفحة. هذا يجعلها طريقة آمنة لسكّ مفاتيح لأدوات ذات صلة بـ SSH، أو توقيع JWT، أو تجارب TLS، أو تعلّم كيفية تلاؤم صيغ المفاتيح العامة معاً.

لـ RSA تختار طول معامل 2048 أو 3072 أو 4096 بت بالأُس العام القياسي 65537، وما إذا كان المفتاح للتوقيع (RSASSA-PKCS1-v1_5، SHA-256) أو للتشفير (RSA-OAEP، SHA-256). ولمفاتيح المنحنى الإهليلجي تختار منحنى NIST — P-256 أو P-384 أو P-521 — وما إذا كان للتوقيع (ECDSA) أو الاتفاق على المفاتيح (ECDH). المعاملات الأكبر لـ RSA والمنحنيات الأعلى أقوى لكنها أبطأ في التوليد؛ RSA-4096 خصوصاً قد يستغرق ثوانٍ في المتصفح.

يُنجَز التصدير بـ exportKey من WebCrypto: المفتاح العام كـ SubjectPublicKeyInfo (SPKI) والمفتاح الخاص كـ PKCS#8، مرمَّزاً بـ base64 وملفوفاً عند 64 حرفاً في السطر داخل إطاري -----BEGIN PUBLIC KEY----- / -----BEGIN PRIVATE KEY-----. بدّل مفتاح الصيغة إلى JWK للحصول على تمثيل JSON Web Key بدلاً من ذلك. ولأن التوليد محلي ودون اتصال، لا يُرفَع المفتاح الخاص أبداً — انسخه إلى مكان آمن قبل إغلاق التبويب، إذ لا يمكن استرداده بعد ذلك.

الأسئلة الشائعة

هل تُرسَل المفاتيح الخاصة إلى خادم؟
لا. تُولَّد المفاتيح محلياً بمحرّك WebCrypto في متصفحك وتُصدَّر داخل الصفحة. لا يغادر المفتاح الخاص جهازك ولا يُخزَّن في أي مكان، فانسخه إلى مكان آمن قبل إغلاق التبويب — لا يمكن استرداده بعد ذلك.
أي حجم مفتاح أو منحنى أختار؟
RSA-2048 هو الخط الأساسي الشائع؛ و3072 أو 4096 يمنحان هامشاً أكبر على حساب توليد أبطأ ومفاتيح أكبر. لـ EC، P-256 سريع ومدعوم على نطاق واسع، بينما يقدّم P-384 وP-521 مستويات أمان أعلى. مفاتيح EC أصغر بكثير من RSA لقوة مماثلة.
ما الفرق بين خرج PEM وJWK؟
PEM هو صيغة DER بترميز base64 ملفوفة في أسطر BEGIN/END التي تتوقّعها معظم الخوادم وOpenSSL — SPKI للمفتاح العام وPKCS#8 للمفتاح الخاص. JWK هو كائن JSON Web Key المستخدَم في مكتبات JavaScript وJOSE/JWT. كلاهما يصف زوج المفاتيح نفسه.
التوقيع مقابل التشفير — ما الذي يتغيّر؟
يختار الخوارزمية التي أُنشئ المفتاح من أجلها. توقيع RSA يستخدم RSASSA-PKCS1-v1_5 والتشفير يستخدم RSA-OAEP؛ توقيع EC يستخدم ECDSA والاتفاق على المفاتيح يستخدم ECDH. المفتاح المولَّد لغرض ما مرتبط بتلك الخوارزمية، فاختر بناءً على كيفية استخدامك له.

المزيد من الأدوات