يوضح لك هذا الدليل كيفية إنشاء CSR على Ubuntu، وبالتحديد على خادم Apache قائم على Ubuntu يتم الوصول إليه عبر SSH. يستخدم Ubuntu OpenSSL لهذا الغرض، فتقوم بتشغيل شيئين في أمر واحد: مفتاح خاص جديد و CSR (Certificate Signing Request) المطابق له. يمكنك تمرير تفاصيل الموضوع (subject) كخيارات (flags)، مما يجعل العملية بأكملها في سطر واحد يمكن نسخه ولصقه.
الخطوات أدناه تعمل على كل إصدار مدعوم من Ubuntu (22.04 و 24.04 و 26.04 LTS)، حيث يأتي كل منها مزودًا بـ OpenSSL 3.x. كما تعمل أيضًا على الإصدارات الأقدم مثل 20.04، الذي جاء مزودًا بـ OpenSSL 1.1.1، وإن كان إصدار 20.04 قد بلغ نهاية دعمه القياسي. يقوم OpenSSL الحديث بتوقيع الطلب باستخدام SHA-256 بشكل افتراضي، لذا لن تحتاج إلى إضافة خيار خاص بخوارزمية التلخيص (digest).
الخطوة 1: الوصول إلى خادم Ubuntu الخاص بك
اتصل بالخادم عبر SSH من جهازك المحلي (Terminal على macOS أو Linux، أو PowerShell أو Windows Terminal على Windows). استبدل اسم المستخدم والمضيف بالخاصين بك:
ssh your-user@your-ubuntu-server
أنشئ CSR على نفس الخادم الذي سيستضيف الشهادة. يُنشأ المفتاح الخاص بجانب CSR ويجب أن يبقى على ذلك الخادم، فتشغيل هذه الأوامر محليًا ثم نسخ المفتاح لاحقًا يُفقد الغرض من العملية بأكمله.
الخطوة 2: إنشاء المفتاح الخاص و CSR
نفّذ الأمر التالي. فهو يُنشئ مفتاح RSA بحجم 2048 بت و CSR في خطوة واحدة، مع تزويد الموضوع (subject) وأسماء البديلة للموضوع (Subject Alternative Names أو SANs) مباشرة داخل الأمر بحيث لا يتوقف OpenSSL لطرح أسئلة:
openssl req -new -newkey rsa:2048 -nodes
-keyout yourdomain.key
-out yourdomain.csr
-subj "/C=US/ST=YourState/L=YourCity/O=YourCompany/CN=yourdomain.com"
-addext "subjectAltName=DNS:yourdomain.com,DNS:www.yourdomain.com"
ما يقوم به كل جزء:
- -newkey rsa:2048 يُنشئ مفتاح RSA جديدًا بحجم 2048 بت. يُعد 2048 بت الحد الأدنى الحالي للشهادات العامة؛ يمكنك استخدام rsa:4096 لمفتاح أكبر، أو التبديل إلى ECDSA (انظر أدناه).
- -nodes يترك المفتاح الخاص غير مشفر بحيث يمكن لـ Apache قراءته عند بدء التشغيل دون طلب عبارة مرور (passphrase).
- -keyout و -out يسميان ملفي المفتاح الخاص و CSR.
- -subj يوفر موضوع الشهادة. ضع هنا اسم شركتك الحقيقي وولايتك ومدينتك، لا العناصر النائبة (placeholders). CN (الاسم الشائع – Common Name) هو نطاقك الأساسي.
- -addext “subjectAltName=…” يسرد كل اسم مضيف يجب أن تغطيه الشهادة. تتحقق جهات إصدار الشهادات العامة من قائمة SAN، لذا أدرج الاسم الشائع (Common Name) هنا أيضًا.
استبدل yourdomain.com بنطاقك الفعلي في جميع المواضع. لتغطية أسماء مضيف إضافية، أضفها إلى قائمة SAN مفصولة بفواصل، على سبيل المثال DNS:api.yourdomain.com. بالنسبة للنطاق الشامل (wildcard)، ضمّن كلاً من النطاق الشامل والنطاق العادي: DNS:*.yourdomain.com,DNS:yourdomain.com.
إذا كنت تفضل مفتاح ECDSA (أصغر وأسرع، ومع دعم واسع لـ P-256)، فأنشئ المفتاح و CSR بهذه الطريقة بدلاً من ذلك:
openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 -pkeyopt ec_param_enc:named_curve -nodes
-keyout yourdomain.key
-out yourdomain.csr
-subj "/C=US/ST=YourState/L=YourCity/O=YourCompany/CN=yourdomain.com"
-addext "subjectAltName=DNS:yourdomain.com,DNS:www.yourdomain.com"
الخطوة 3: تحديد موقع الملفات
اسرد محتويات الدليل الحالي للتأكد من إنشاء كلا الملفين:
ls
يجب أن ترى ملفين جديدين:
- yourdomain.key: مفتاحك الخاص. احتفظ به على الخادم، واحفظ نسخة احتياطية آمنة منه، ولا ترسله لأي شخص أبدًا، بما في ذلك جهة إصدار الشهادات (Certificate Authority). فمن يحوز على المفتاح يمكنه التنكر بهوية موقعك.
- yourdomain.csr: طلب توقيع الشهادة الخاص بك (Certificate Signing Request). هذا هو الملف الذي تُرسله إلى مزود SSL.
الخطوة 4: التحقق من CSR (اختياري لكن يُنصح به)
قبل تقديمه، تحقق من أن CSR يحتوي على الموضوع (subject) الصحيح وقائمة SAN الصحيحة وأن توقيعه صالح. يقوم هذا الأمر بفك تشفير الطلب محليًا باستخدام OpenSSL:
openssl req -noout -text -verify -in yourdomain.csr
تأكد من أن سطر Subject يعرض تفاصيلك، وأن X509v3 Subject Alternative Name يسرد كل اسم مضيف تتوقعه، وأن فحص التوقيع يطبع verify OK. يجب أن تكون خوارزمية التوقيع sha256WithRSAEncryption (أو ecdsa-with-SHA256 بالنسبة لمفتاح ECDSA). إذا كنت تفضل عدم استخدام سطر الأوامر، الصق CSR في أداة فاحص CSR عبر الإنترنت الخاصة بنا لقراءة نفس الحقول في المتصفح.
الخطوة 5: إرسال CSR الخاص بك
لنسخ CSR الخاص بطلبك، اطبع محتوياته:
cat yourdomain.csr
سترى نصًا مشابهًا لهذا:
-----BEGIN CERTIFICATE REQUEST-----
MIIBozCB... (a long string of characters)
-----END CERTIFICATE REQUEST-----
انسخ الكتلة كاملة، بما في ذلك سطري —–BEGIN CERTIFICATE REQUEST—– و —–END CERTIFICATE REQUEST—– (كل علامة تحتوي على خمس شرطات على كل جانب). تلك الكتلة بأكملها هي CSR الخاص بك. الصقها في نموذج الطلب أثناء عملية الشراء، واحتفظ بالمفتاح الخاص المطابق له في مكانه على الخادم.
إذا كنت تفضل عدم استخدام سطر الأوامر، يمكنك أيضًا إنشاء الطلب باستخدام أداة إنشاء CSR عبر الإنترنت الخاصة بنا. لاحظ أنها تُنشئ المفتاح الخاص في متصفحك، لذا احفظ ذلك المفتاح بنفسك وانقله إلى الخادم.
بعد أن تتحقق جهة إصدار الشهادات (CA) من CSR وتصدر الشهادة، تابع مع تعليمات تثبيت SSL على Ubuntu.
وفِّر 10% على شهادات SSL عند الطلب اليوم!
إصدار سريع، وتشفير قوي، وثقة في المتصفح بنسبة 99.99%، ودعم مخصص، وضمان استرداد المال خلال 25 يومًا. رمز القسيمة: SAVE10

