# مولّد مفاتيح RSA

أنشئ زوج مفاتيح RSA جديدًا بوحدة معامل من 2048 أو 3072 بت، وأس عام 65537. ستحصل على المفتاح الخاص بصيغة PEM غير مشفّرة وفق PKCS #8، والمفتاح العام بصيغة SPKI PEM، وسطر OpenSSH ssh-rsa المطابق مع بصمة SHA-256 الخاصة به، وخوارزميات RS وPS التي يوقّع بها، وبصمة JWK وفق RFC 7638 لاستخدامها كمعرّف للمفتاح. يُنشأ كل زوج باستخدام وحدة crypto في Node لهذا الطلب، ولا يُخزَّن مطلقًا.

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

### هل أختار 2048 أم 3072 بت؟

لا يزال RSA بطول 2048 بت هو الحد الأدنى الشائع، وهو مقبول في كل مكان، بما في ذلك مكتبات JWT التي ترفض المفاتيح الأقصر. يتوافق طول 3072 بت مع مستوى أمان 128 بت الذي توصي به NIST SP 800-57 بعد 2030، مقابل توقيعات أكبر وتوقيع أبطأ. لا تتوفر أحجام أكبر مثل 4096 بت، لأن مدة إنشائها غير قابلة للتنبؤ على خادم مشترك.

### ما التنسيقات التي تستخدمها النتيجة؟

يُرمَّز المفتاح الخاص بصيغة PEM وفق PKCS #8 (BEGIN PRIVATE KEY)، ويُرمَّز المفتاح العام بصيغة PEM وفق SubjectPublicKeyInfo (BEGIN PUBLIC KEY). ويمكن لـ OpenSSL وJava و.NET وGo وNode وjose ومعظم المكتبات الأخرى قراءة كليهما. ويُضاف سطر المفتاح العام بصيغة OpenSSH لملفات authorized_keys.

### هل المفتاح الخاص مشفّر؟

لا، يُعاد المفتاح الخاص دون عبارة مرور لتتمكن من لصقه مباشرةً في الأدوات الأخرى. لحمايته أثناء التخزين، شغّل openssl pkey -in key.pem -aes256 -out key-encrypted.pem، واحتفظ بالملف المشفّر فقط. لا تضع النسخة غير المشفّرة في نظام التحكم بالإصدارات.

### كيف أحصل على تنسيق PKCS #1 ‏(BEGIN RSA PRIVATE KEY)؟

تتطلب بعض البرامج القديمة صيغة PKCS #1 التقليدية. باستخدام OpenSSL 3، شغّل openssl pkey -in key.pem -traditional -out key-rsa.pem لتحويل ملف PKCS #8. تظل مادة المفتاح كما هي؛ ويتغير الغلاف فقط.

### هل يمكنني استخدام المفتاح مع SSH؟

نعم. أضف سطر ssh-rsa إلى ~/.ssh/authorized_keys على الخادم، واحفظ ملف PEM الخاص بوصفه ملف الهوية بالأذونات 600، إذ يقرأ OpenSSH مفاتيح RSA المرمّزة بصيغة PEM. تفضّل خوادم كثيرة الآن مفاتيح Ed25519، التي ينشئها مولّد مفاتيح Ed25519.

### ما بصمة JWK؟

هي تجزئة SHA-256 وفق RFC 7638 لأعضاء JWK المطلوبة للمفتاح العام، مرمّزة بصيغة base64url. وهي تحدد المفتاح بصرف النظر عن تنسيقه، ما يجعلها قيمة kid مناسبة لرموز JWT ومستندات JWKS. يعرض محوّل JWK القيمة نفسها لهذا المفتاح.

### ما خوارزميات JWT التي يمكن لهذا المفتاح استخدامها للتوقيع؟

يمكن لمفتاح RSA التوقيع باستخدام RS256 وRS384 وRS512 ‏(PKCS #1 v1.5) وPS256 وPS384 وPS512 ‏(RSA-PSS). استخدم ملف PEM الخاص مع مولّد JWT، وزوّد أدوات التحقق بملف PEM العام أو بمفتاح JWK الخاص به. الخوارزمية خاصية للتوقيع، لذا يمكن استخدام المفتاح نفسه مع عدة خوارزميات منها.

### هل يُخزَّن المفتاح المُنشأ في أي مكان؟

لا. يُنشأ زوج المفاتيح في الذاكرة لهذا الطلب، ويُعاد مرة واحدة ضمن النتيجة، ولا يُسجَّل أو يُحفظ مطلقًا. إذا فقدته، فأنشئ زوجًا جديدًا، إذ لا يمكن لأحد استعادته لك.

### ما وظيفة خيار التعليق؟

يُضاف التعليق إلى سطر المفتاح العام بصيغة OpenSSH، وعادةً ما يكون user@host أو تسمية مثل deploy-2026، حتى تتمكن من تمييز المفتاح في authorized_keys. ولا يغيّر المفتاح أو بصماته. يقتصر طول التعليقات على 200 حرفًا، وتُختزل المسافات البيضاء المتتالية إلى مسافة واحدة.

### ما مدى عشوائية المفاتيح التي يتم إنشاؤها؟

تأتي الأعداد الأولية من مولّد الأرقام العشوائية الآمن تشفيريًا في نظام التشغيل عبر OpenSSL، وهو المصدر نفسه الذي تستخدمه الخوادم لمفاتيحها. ينتج كل طلب زوج مفاتيح جديدًا ومستقلًا. يكون الأس العام دائمًا 65537، وهي القيمة القياسية.

إعلانك هنا؟

[راسلنا عبر البريد الإلكتروني](mailto:hi@dennn.is?subject=%D8%A7%D9%84%D8%A5%D8%B9%D9%84%D8%A7%D9%86%20%D8%B9%D9%84%D9%89%20OneClick%20Pro)

[إعلان مجموعة إضافات جاهزة للوكلاء من أجل WordPress.](https://sleekwp.com/?ref=oneclickpro)
