يوضح هذا الدليل كيفية إنشاء CSR (طلب توقيع الشهادة) على Microsoft IIS (خدمات معلومات الإنترنت) على Windows Server. يمكنك إنشاء الطلب بطريقتين: من خلال واجهة IIS Manager الرسومية (المعالج التقليدي بالنقر والتحديد)، أو باستخدام certreq.exe وملف INF من PowerShell. تحتفظ كلتا الطريقتين بالمفتاح الخاص على الخادم في مخزن شهادات Windows، وتنتج طلب PKCS #10 تقدمه إلى جهة إصدار الشهادات (CA) الخاصة بك.
تنبيه مهم يجب معرفته مسبقًا: معالج IIS Manager لا يضيف اسمًا بديلًا للموضوع (SAN) إلى الطلب، وكل جهة إصدار شهادات عامة تتطلب الآن ظهور اسم المضيف في حقل SAN، لا فقط في الاسم الشائع (Common Name). إذا كنت بحاجة إلى SAN (وهو ما يحدث دائمًا تقريبًا)، استخدم طريقة certreq.exe الموضحة أدناه، أو أنشئ CSR خارج الخادم باستخدام مولد CSR الخاص بنا، ثم استورد الشهادة الصادرة كملف .pfx.
سجّل الدخول بصلاحيات المسؤول (Administrator) على خادم Windows الذي تريد تأمينه (أو على محطة عمل تشغّل موقع IIS)، ثم اتبع القسم المطابق لإصدار IIS الخاص بك. تغطي الخطوات أدناه IIS 10 على Windows Server 2025 و2022 و2019 و2016 (وكذلك IIS 10 على عميلي Windows 10 و Windows 11)، بالإضافة إلى معالجات IIS 8 / 8.5 / 7 / 6 القديمة للبنية التحتية القديمة.
إنشاء CSR على IIS 10 (Windows Server من 2016 إلى 2025)
IIS 10 هو الإصدار المرفق مع Windows Server 2016 و2019 و2022 و2025، بالإضافة إلى ميزة IIS في عميلي Windows 10 و Windows 11. واجهة Manager متطابقة في جميع هذه الإصدارات.
الخطوة 1: فتح IIS Manager
- اضغط على Win + R، اكتب
inetmgr، ثم اضغط Enter، أو - افتح قائمة Start وابحث عن Internet Information Services (IIS) Manager.
الخطوة 2: فتح Server Certificates
- في لوحة Connections على اليسار، انقر على اسم الخادم.
- في اللوحة الوسطى (Home)، انقر نقرًا مزدوجًا على Server Certificates.
الخطوة 3: بدء طلب الشهادة
في لوحة Actions على اليمين، انقر على Create Certificate Request. سيفتح مربع حوار Distinguished Name Properties.
الخطوة 4: تعبئة الاسم المميز (Distinguished Name)
أدخل بيانات الموضوع أدناه. استخدم فقط أحرف ASCII القياسية؛ فالأحرف غير اللاتينية تعطّل الطلب:
- Common Name: اسم النطاق الكامل المؤهل (FQDN) الذي تريد تأمينه، مثل www.example.com. لشهادة wildcard، ضع علامة نجمية قبل النطاق الأساسي، مثل *.example.com.
- Organization: الاسم القانوني الكامل لشركتك، كما هو مسجل رسميًا. مطلوب لشهادات OV و EV. بالنسبة لشهادات التحقق من النطاق (DV)، يتم تجاهل هذا الحقل، فيمكن استخدام أي نص مؤقت قصير.
- Organizational unit: تسمية للقسم مثل IT أو Web. هذا الحقل أصبح مهجورًا في الشهادات العامة (حيث تم إلغاؤه تدريجيًا من قبل منتدى CA/Browser)، لذا اترك القيمة بسيطة أو تجاهله إذا سمح مربع الحوار بذلك.
- City/locality: المدينة التي تم فيها تسجيل مؤسستك، مكتوبة بالكامل (مثل Seattle، وليس SEA).
- State/province: اسم الولاية أو المحافظة كاملًا (مثل Washington، وليس WA).
- Country/region: رمز الدولة المكوّن من حرفين وفق معيار ISO (مثل US، GB، DE).
تحقق من كل حقل ثم انقر على Next.
الخطوة 5: اختيار موفّر الخدمة التشفيرية وطول المفتاح
في مربع حوار Cryptographic Service Provider Properties:
- Cryptographic service provider: اختر Microsoft RSA SChannel Cryptographic Provider. هذا هو الخيار الصحيح لشهادة RSA يقدمها IIS عبر HTTPS. (اختر Microsoft DH SChannel Cryptographic Provider فقط في الحالة النادرة التي تحتاج فيها إلى مفتاح Diffie-Hellman، وهو غير مستخدم في TLS العادي للويب.)
- Bit length: اختر 2048. هذا هو الحد الأدنى الحالي الذي تقبله جميع جهات إصدار الشهادات العامة. اختر 3072 أو 4096 فقط إذا كانت سياستك تتطلب مفتاحًا أكبر؛ والمقابل هو مصافحة TLS أبطأ قليلًا.
انقر على Next.
الخطوة 6: حفظ ملف CSR
في مربع حوار File Name، انقر على زر التصفح واختر مجلدًا يمكنك العثور عليه لاحقًا، ثم اكتب اسم ملف بامتداد .txt، مثل certreq.txt. لا تقبل المسار الافتراضي C:WindowsSystem32: فهذا المجلد صعب التصفح فيه، وقد لا تملك صلاحية الكتابة فيه حسب إعدادات UAC. سطح المكتب أو مجلد مخصص مثل C:certs يعملان بشكل أفضل.
انقر على Finish. يكتب IIS ملف CSR في المسار الذي اخترته، ويخزّن المفتاح الخاص المطابق كطلب معلّق في مخزن شهادات Windows على هذا الخادم.
الخطوة 7: نسخ CSR وتقديمه إلى جهة إصدار الشهادات
افتح الملف المحفوظ في Notepad (أو أي محرر نصوص). سترى كتلة مشابهة لهذه:
-----BEGIN NEW CERTIFICATE REQUEST-----
MIIDXjCCAkYCAQAwgZQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApXYXNoaW5ndG9u
... (many lines of base64) ...
-----END NEW CERTIFICATE REQUEST-----
حدد الكتلة كاملة، بما في ذلك سطري BEGIN NEW CERTIFICATE REQUEST و END NEW CERTIFICATE REQUEST، ثم انسخها وألصقها في حقل CSR في نموذج الطلب. عند تحقق جهة إصدار الشهادات من الطلب وإصدار شهادتك، اتبع دليل كيفية تثبيت شهادة SSL على IIS واستخدم Complete Certificate Request لربط ملف .cer الصادر بالمفتاح المعلّق على هذا الخادم.
معالج IIS Manager لا يضيف SAN
ينتج المعالج أعلاه طلبًا يكون فيه اسم المضيف الوحيد هو الاسم الشائع (Common Name). تتحقق المتصفحات والعملاء الحديثون (Chromium، Firefox، Safari، .NET، Java، Go) فقط من اسم المضيف مقابل امتداد الاسم البديل للموضوع (Subject Alternative Name)؛ فقد تم تجاهل الاسم الشائع في قرارات الثقة منذ عام 2017. تستجيب جهات إصدار الشهادات العامة بنسخ CN إلى إدخال SAN تلقائيًا للطلبات ذات الاسم الواحد، لذا يظل الطلب المعتمد على CN فقط صالحًا لاسم مضيف واحد. لكن:
- إذا كنت تحتاج إلى أسماء مضيف متعددة في شهادة واحدة (مثل example.com و www.example.com، أو شهادة متعددة النطاقات)، فإن معالج IIS Manager لا يستطيع تضمينها.
- إذا كانت جهة إصدار الشهادات تقبل الطلبات بصرامة كما هي مقدمة، فقد يُرفض طلب بدون SAN حتى لاسم مضيف واحد.
لأي حالة تتجاوز اسمًا واحدًا، استخدم طريقة certreq.exe أدناه، أو أنشئ CSR باستخدام مولد CSR الخاص بنا، ثم استورد الشهادة الصادرة إلى IIS كملف .pfx.
إنشاء CSR باستخدام certreq.exe وملف INF (يدعم SAN)
أداة سطر الأوامر certreq.exe مرفقة مع كل إصدار من Windows Server، وتتيح لك تحديد SAN، وطول المفتاح، والموضوع الدقيق، والموفّر. تتكون العملية من ثلاثة أجزاء: كتابة ملف INF للطلب، تشغيل certreq -new لإنشاء CSR (والمفتاح المطابق في مخزن Windows)، ثم تقديم CSR إلى جهة إصدار الشهادات.
الخطوة 1: إنشاء ملف INF للطلب
افتح Notepad بصلاحيات المسؤول واحفظ الملف أدناه باسم request.inf. عدّل سطر Subject وإدخالات DNS تحت [Extensions] لتتوافق مع نطاقك:
[Version]
Signature="$Windows NT$"
[NewRequest]
Subject = "CN=www.example.com, O=Example Inc, L=Seattle, S=Washington, C=US"
KeySpec = 1
KeyLength = 2048
Exportable = TRUE
MachineKeySet = TRUE
SMIME = FALSE
PrivateKeyArchive = FALSE
UserProtected = FALSE
UseExistingKeySet = FALSE
ProviderName = "Microsoft RSA SChannel Cryptographic Provider"
ProviderType = 12
RequestType = PKCS10
KeyUsage = 0xa0
[EnhancedKeyUsageExtension]
OID = 1.3.6.1.5.5.7.3.1
[Extensions]
2.5.29.17 = "{text}"
_continue_ = "dns=www.example.com&"
_continue_ = "dns=example.com"
ملاحظات على القيم:
- Subject: سطر واحد، تُفصل الحقول بفواصل. استخدم رمز الدولة المكوّن من حرفين وفق ISO في C=.
- KeyLength: الحد الأدنى 2048. اضبطه على 3072 أو 4096 إذا تطلبت سياستك ذلك.
- Exportable = TRUE: يتيح لك تصدير المفتاح الخاص مع الشهادة الصادرة (للنسخ الاحتياطي أو للتثبيت على خادم ثانٍ). اضبطه على FALSE إذا كنت تريد قفل المفتاح على هذا الجهاز فقط.
- MachineKeySet = TRUE: يخزّن المفتاح في مخزن الكمبيوتر المحلي (Local Computer)، حيث يقرأ IIS منه. اترك هذا الخيار مفعّلًا لـ IIS.
- 2.5.29.17: رمز OID للاسم البديل للموضوع (Subject Alternative Name). أضف سطر _continue_ واحدًا لكل اسم مضيف؛ يجب أن ينتهي كل سطر باستثناء الأخير بفاصل &.
الخطوة 2: إنشاء CSR
افتح Command Prompt أو PowerShell بصلاحيات مرتفعة في المجلد الذي يحتوي على request.inf ونفّذ:
certreq -new request.inf certreq.txt
تنشئ certreq المفتاح الخاص في مخزن الكمبيوتر المحلي، وتكتب طلب PKCS #10 في ملف certreq.txt. افتح الملف، وانسخ الكتلة الكاملة من BEGIN NEW CERTIFICATE REQUEST إلى END NEW CERTIFICATE REQUEST، وقدّمها في نموذج الطلب، بنفس طريقة معالج IIS Manager.
عندما تُعيد جهة إصدار الشهادات الشهادة الصادرة، أكمل العملية بتنفيذ:
certreq -accept certnew.cer
يقوم هذا بربط الشهادة الصادرة بالمفتاح الخاص الذي كان في حالة انتظار في المخزن، وتصبح الشهادة متاحة للربط في IIS.
فحص CSR قبل تقديمه (اختياري)
يستحق التحقق من الاسم الشائع (Common Name)، وإدخالات SAN، وحجم المفتاح قبل إرسال الطلب إلى جهة إصدار الشهادات. على الخادم، تقرأ أداة certutil المدمجة الطلب:
certutil -dump certreq.txt
إذا كان لديك OpenSSL مثبتًا (لا يأتي Windows به مثبتًا مسبقًا؛ يمكنك تثبيته بشكل منفصل من إصدار مثل Shining Light Productions)، فإن هذا الأمر يطبع التفاصيل نفسها:
openssl req -noout -text -in certreq.txt
تفضّل أداة عبر الإنترنت؟ ألصق محتوى الطلب في أداة فحص CSR الخاصة بـ SSL Dragon لقراءة الاسم الشائع، وإدخالات SAN، وحجم المفتاح. تأكد من أن الاسم الشائع يطابق اسم المضيف الذي سيستخدمه العملاء، وأن كل اسم مطلوب يظهر تحت قائمة الاسم البديل للموضوع.
إنشاء CSR على IIS 8 و 8.5 (Windows Server 2012 / 2012 R2)
معالج IIS 8 / 8.5 مطابق لمعالج IIS 10. وصلت الدعم الموسّع لـ Windows Server 2012 و 2012 R2 إلى نهايته في أكتوبر 2023، لذا خطّط لنقل هذه الأحمال إلى إصدار حديث من Windows Server؛ وإلى أن تفعل ذلك، تظل الخطوات أدناه صالحة.
- اضغط Win + R، اكتب
inetmgr، وانقر OK. (أو افتح Internet Information Services (IIS) Manager من شاشة Start.) - في Connections، حدد الخادم، ثم انقر نقرًا مزدوجًا على Server Certificates في لوحة Home.
- في Actions، انقر على Create Certificate Request.
- في Distinguished Name Properties، عبّئ Common Name و Organization و Organizational unit و City/locality و State/province و Country/region تمامًا كما هو موضح أعلاه في IIS 10 (أحرف ASCII قياسية فقط، أسماء الولاية والمدينة كاملة، رمز الدولة من حرفين). انقر على Next.
- في Cryptographic Service Provider Properties، اختر Microsoft RSA SChannel Cryptographic Provider واضبط Bit length على 2048. انقر على Next.
- في File Name، اختر مجلدًا يمكنك العثور عليه لاحقًا واحفظ الملف بامتداد .txt (مثل certreq.txt). انقر على Finish.
- افتح الملف المحفوظ في Notepad، انسخ الكتلة الكاملة من BEGIN NEW CERTIFICATE REQUEST إلى END NEW CERTIFICATE REQUEST، وألصقها في نموذج الطلب.
ينطبق نفس قيد SAN على IIS 8 / 8.5: إذا كنت تحتاج إلى أكثر من اسم مضيف واحد، استخدم طريقة certreq.exe أعلاه.
إنشاء CSR على IIS 7 (Windows Server 2008 / 2008 R2)
وصل Windows Server 2008 و 2008 R2 منذ فترة طويلة إلى نهاية الدعم، فتعامل مع معالج IIS 7 كإجراء قديم للأنظمة التي لم تتمكن من استبدالها بعد. العملية مماثلة لـ IIS 8 / 10:
- اضغط Win + R، اكتب
inetmgr، وانقر OK، أو افتح Start > Administrative Tools > Internet Information Services (IIS) Manager. - في Connections، حدد اسم الخادم، ثم انقر نقرًا مزدوجًا على Server Certificates.
- في Actions، انقر على Create Certificate Request.
- في Distinguished Name Properties، أدخل Common Name و Organization و Organizational unit و City/locality و State/province و Country/region كما هو موضح في IIS 10. انقر على Next.
- في Cryptographic Service Provider Properties، اختر Microsoft RSA SChannel Cryptographic Provider و 2048 بت. انقر على Next.
- انقر على زر التصفح تحت Specify a file name for the certificate request، اختر مجلدًا، اكتب اسم ملف ينتهي بـ .txt، وانقر على Finish.
- افتح الملف المحفوظ في Notepad، انسخ كتلة الطلب الكاملة (بما في ذلك سطري BEGIN NEW CERTIFICATE REQUEST و END NEW CERTIFICATE REQUEST)، وألصقها في نموذج الطلب.
إنشاء CSR على IIS 5 و 6 (مهجور)
وصل IIS 5 و 6 (Windows 2000 Server و Windows Server 2003) منذ فترة طويلة إلى نهاية الدعم ولا ينبغي استخدامها لتشغيل مواقع عامة. استخدم هذا القسم فقط إذا كنت تحافظ على بنية تحتية قديمة لم تتمكن من استبدالها بعد:
- افتح Start > Control Panel > Administrative Tools > Internet Information Services.
- انقر بالزر الأيمن على Default Web Site (أو موقعك) واختر Properties.
- افتح علامة التبويب Directory Security وانقر على Server Certificate.
- في IIS Certificate Wizard، اختر Create a new certificate وانقر على Next.
- اختر Prepare the request now, but send it later وانقر على Next.
- اكتب اسمًا وصفيًا للشهادة، اضبط Bit length على 2048، اترك المربعات الأخرى غير محددة، وانقر على Next.
- أدخل الاسم القانوني للمؤسسة ووحدة تنظيمية (استخدم تسمية قصيرة مثل IT). انقر على Next.
- في Common Name، أدخل الاسم الكامل المؤهل (FQDN) لموقعك، مثل www.example.com. انقر على Next.
- عبّئ Country/region و State/province و City/locality، ثم انقر على Next.
- اختر مجلدًا واسم ملف (احفظه بامتداد .txt)، انقر على Next، راجع الملخص، وانقر على Next مرة أخرى لكتابة CSR.
- افتح الملف في Notepad، انسخ كتلة الطلب كاملة، وألصقها في نموذج الطلب.
بعد أن تتحقق جهة إصدار الشهادات من CSR الخاص بك وتصدر الشهادة، تابع باتباع تعليمات تثبيت SSL على IIS.
وفِّر 10% على شهادات SSL عند الطلب اليوم!
إصدار سريع، وتشفير قوي، وثقة في المتصفح بنسبة 99.99%، ودعم مخصص، وضمان استرداد المال خلال 25 يومًا. رمز القسيمة: SAVE10

