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

أنشئ زوج مفاتيح Ed25519 لتواقيع EdDSA، وعمليات تسجيل الدخول عبر SSH، والتزامات Git الموقّعة، ورموز JWT. تحصل على المفتاح الخاص بصيغة PKCS #8 PEM غير مشفرة، والمفتاح العام بصيغة SPKI PEM، وسطر ssh-ed25519 جاهز للاستخدام في authorized_keys مع تعليق اختياري، وبصمة SHA-256 وبصمة JWK وفق RFC 7638. تُنشأ المفاتيح لكل طلب باستخدام وحدة crypto في Node، ولا تُسجّل أو تُخزّن مطلقًا.

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

### لماذا أستخدم Ed25519؟

يوفر Ed25519 أمانًا يعادل نحو 128 بت باستخدام مفاتيح بطول 32 بايتًا وتواقيع بطول 64 بايتًا، ويوقّع بسرعة ولا يتضمن معلمات قد تُضبط خطأً. تواقيعه حتمية، لذا لا يمكن لمولّد أرقام عشوائية ضعيف وقت التوقيع أن يكشف المفتاح. وهو نوع المفاتيح الافتراضي في إصدارات OpenSSH الحديثة.

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

يكون المفتاح الخاص بترميز PEM وفق PKCS #8 (BEGIN PRIVATE KEY)، والمفتاح العام بترميز PEM وفق SubjectPublicKeyInfo (BEGIN PUBLIC KEY)، حسب تعريف RFC 8410. ويُعرض المفتاح العام أيضًا كسطر ssh-ed25519 لـ OpenSSH.

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

يخزّن OpenSSH المفاتيح الخاصة Ed25519 بتنسيقه الخاص، ولا تكتب هذه الأداة ذلك التنسيق، كما أن كثيرًا من إصدارات OpenSSH لا تستطيع تحميل ملف Ed25519 بتنسيق PKCS #8. يعمل سطر المفتاح العام ssh-ed25519 في authorized_keys، لكن لملف هوية SSH، فإن أبسط طريقة هي تشغيل ssh-keygen -t ed25519 على جهازك.

### ما خوارزمية JWT التي يوقّع بها المفتاح؟

توقّع مفاتيح Ed25519 باستخدام خوارزمية EdDSA المحددة في RFC 8037. ألصق ملف PEM الخاص في مولّد JWT بعد اختيار EdDSA، وزوّد جهات التحقق بملف PEM العام أو JWK الخاص به، مع kty بقيمة OKP وcrv بقيمة Ed25519.

### ما بصمة SHA-256 الظاهرة في النتيجة؟

إنها بصمة كتلة المفتاح العام في OpenSSH، وتُكتب بصيغة SHA256: متبوعة بترميز base64 غير محشو، تمامًا كما يعرضها ssh-keygen -l والخوادم. قارنها بما يعرضه خادم أو GitHub للتأكد من إضافة المفتاح الصحيح.

### ما بصمة JWK؟

بصمة RFC 7638 هي تجزئة SHA-256 للحقول crv وkty وx في المفتاح، بترميز base64url. وهي تحدد المفتاح بغض النظر عن تنسيقه، وتُعد قيمة kid ملائمة لرموز JWT ومستندات JWKS.

### هل يغيّر التعليق المفتاح؟

لا. يُضاف التعليق إلى سطر ssh-ed25519 فقط، مثل you@laptop، لتتمكن من التمييز بين المفاتيح في authorized_keys. تُحسب البصمات من المفتاح وحده. يمكن أن يصل طول التعليقات إلى 200 حرفًا.

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

لا، يُعاد دون عبارة مرور. للتخزين، شفّره باستخدام openssl pkey -in key.pem -aes256 -out key-encrypted.pem واجعل قراءة الملف مقتصرة عليك.

### هل يمكنني استخدام Ed25519 لشهادات TLS؟

يدعم X.509 مفاتيح Ed25519، ويمكن لـ OpenSSL إنشاء هذه الشهادات والطلبات، لكن المتصفحات وهيئات إصدار الشهادات العامة لا تقبلها لـ TLS حتى الآن. للحصول على شهادات TLS عامة، استخدم مفتاح P-256 من مولّد مفاتيح EC أو مفتاح RSA.

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

لا. يوجد زوج المفاتيح في الذاكرة فقط أثناء معالجة طلبك، ويُعاد مرة واحدة في النتيجة. لا يُسجَّل أي شيء أو يُحفَظ، لذا انسخ المفتاحين قبل مغادرة الصفحة.

إعلانك هنا؟

[راسلنا عبر البريد الإلكتروني](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)
