إنشاء وتصدير شهادات لاتصال من نقطة إلى موقع باستخدام PowerShell
توضح لك هذه المقالة كيفية إنشاء شهادة جذر موقعة ذاتيًا وإنشاء شهادات العميل باستخدام PowerShell على نظام التشغيل Windows 10 أو إصدار أحدث أو Windows Server 2016 أو أحدث. تساعدك الخطوات الواردة في هذه المقالة على إنشاء ملفات .pfx وملفات .cer . إذا لم يكن لديك كمبيوتر يعمل بنظام Windows، فيمكنك استخدام جهاز ظاهري صغير يعمل بنظام Windows كحل بديل.
تعد أوامر cmdlets الخاصة بـ PowerShell التي تستخدمها لإنشاء الشهادات جزءًا من نظام التشغيل ولا تعمل على إصدارات أخرى من Windows. يتم استخدام نظام التشغيل المضيف فقط لإنشاء الشهادات. بمجرد إنشاء الشهادات، يمكنك تحميلها أو تثبيتها على أي نظام تشغيل عميل مدعوم.
إذا لم يكن لديك كمبيوتر يلبي متطلبات نظام التشغيل، يمكنك استخدام MakeCert لإنشاء الشهادات. يمكن تثبيت الشهادات التي تقوم بإنشائها باستخدام أي من الطريقتين على أي نظام تشغيل عميل مدعوم.
إنشاء شهادة جذرية موقعة ذاتيًا
استخدم cmdlet المسمى New-SelfSignedCertificate لإنشاء شهادة جذر موقعة ذاتيًا. للحصول على معلومات إضافية حول المعلمات، راجع New-SelfSignedCertificate.
من جهاز كمبيوتر يعمل بنظام Windows 10 أو إصدار أحدث، أو Windows Server 2016، افتح وحدة تحكم Windows PowerShell بامتيازات مرتفعة.
إنشاء شهادة جذر موقعة ذاتيا. ينشئ المثال التالي شهادة جذر موقعة ذاتيا تسمى "P2SRootCert" يتم تثبيتها تلقائيا في "Certificates-Current User\Personal\Certificates". يمكنك عرض الشهادة عن طريق فتح certmgr.msc أو Manage User Certificates.
قم بإجراء أي تعديلات مطلوبة قبل استخدام هذه العينة. المعلمة 'NotAfter' اختيارية. بشكل افتراضي، بدون هذه المعلمة، تنتهي صلاحية الشهادة في سنة واحدة.
$params = @{ Type = 'Custom' Subject = 'CN=P2SRootCert' KeySpec = 'Signature' KeyExportPolicy = 'Exportable' KeyUsage = 'CertSign' KeyUsageProperty = 'Sign' KeyLength = 2048 HashAlgorithm = 'sha256' NotAfter = (Get-Date).AddMonths(24) CertStoreLocation = 'Cert:\CurrentUser\My' } $cert = New-SelfSignedCertificate @params
اترك وحدة تحكم PowerShell مفتوحة وتابع الخطوات التالية لإنشاء شهادة عميل.
إنشاء شهادة عميل
يجب أن يكون لكل كمبيوتر عميل يتصل بشبكة ظاهرية باستخدام نقطة إلى موقع شهادة عميل مثبتة. تقوم بإنشاء شهادة عميل من شهادة الجذر الموقعة ذاتيًا، ثم تصدير شهادة العميل وتثبيتها. إذا لم يتم تثبيت شهادة العميل، فستفشل المصادقة.
توضح لك الخطوات التالية كيفية إنشاء شهادة العميل من شهادة جذر موقعة ذاتيًا. يمكنك إنشاء شهادات عميل متعددة من نفس شهادة الجذر. عند إنشاء شهادات العميل باستخدام الخطوات أدناه، يتم تثبيت شهادة العميل تلقائيًا على الكمبيوتر الذي استخدمته لإنشاء الشهادة. إذا كنت تريد تثبيت شهادة عميل على كمبيوتر عميل آخر، فقم بتصدير الشهادة.
تستخدم الأمثلة New-SelfSignedCertificate cmdlet لإنشاء شهادة عميل.
مثال 1 - جلسة عمل وحدة تحكم PowerShell لا تزال مفتوحة
استخدم هذا المثال إذا لم تكن قد أغلقت وحدة تحكم PowerShell بعد إنشاء شهادة جذر موقعة ذاتياً. يستمر هذا المثال من القسم السابق، ويستخدم متغير "$cert" المعلن عنه. إذا قمت بإغلاق وحدة تحكم PowerShell بعد إنشاء الشهادة الجذر الموقعة ذاتيًا، أو كنت تقوم بإنشاء شهادات عميل إضافية في جلسة عمل وحدة تحكم PowerShell جديدة، فاتبع الخطوات الواردة في المثال 2.
قم بتعديل وتشغيل المثال لإنشاء شهادة العميل. إذا قمت بتشغيل المثال التالي دون تعديله، فإن النتيجة هي شهادة عميل تسمى "P2SChildCert". إذا كنت تريد تسمية الشهادة الفرعية بشيء آخر، فقم بتعديل قيمة CN. لا تقم بتغيير TextExtension عند تشغيل هذا المثال. يتم تثبيت شهادة العميل التي تقوم بإنشائها تلقائيًا في 'Certificates - Current User\Personal\Certificates' على جهاز الكمبيوتر لديك.
$params = @{
Type = 'Custom'
Subject = 'CN=P2SChildCert'
DnsName = 'P2SChildCert'
KeySpec = 'Signature'
KeyExportPolicy = 'Exportable'
KeyLength = 2048
HashAlgorithm = 'sha256'
NotAfter = (Get-Date).AddMonths(18)
CertStoreLocation = 'Cert:\CurrentUser\My'
Signer = $cert
TextExtension = @(
'2.5.29.37={text}1.3.6.1.5.5.7.3.2')
}
New-SelfSignedCertificate @params
مثال 2 - جلسة عمل وحدة تحكم PowerShell الجديدة
إذا كنت تقوم بإنشاء شهادات عميل إضافية، أو لا تستخدم جلسة PowerShell نفسها التي استخدمتها لإنشاء شهادة جذر موقعة ذاتياً، فاستخدم الخطوات التالية:
حدد شهادة الجذر الموقعة ذاتياً المثبتة على الكمبيوتر. يعمل هذا الأمر cmdlet على إرجاع قائمة الشهادات المثبتة على جهاز الكمبيوتر الخاص بك.
Get-ChildItem -Path "Cert:\CurrentUser\My"
حدد موقع اسم الموضوع من القائمة التي تم إرجاعها، ثم انسخ بصمة الإبهام الموجودة بجانبه إلى ملف نصي. في المثال التالي، توجد شهادتان. اسم CN هو اسم الشهادة الجذر الموقعة ذاتيًا، والتي تريد إنشاء شهادة تابعة منها. في هذه الحالة، "P2SRootCert".
Thumbprint Subject ---------- ------- AED812AD883826FF76B4D1D5A77B3C08EFA79F3F CN=P2SChildCert4 7181AA8C1B4D34EEDB2F3D3BEC5839F3FE52D655 CN=P2SRootCert
قم بالإعلان عن متغير للشهادة الجذر باستخدام بصمة الإبهام من الخطوة السابقة. استبدل بصمة الإبهام ببصمة إبهام الشهادة الجذر التي تريد إنشاء شهادة تابعة منها.
$cert = Get-ChildItem -Path "Cert:\CurrentUser\My\<THUMBPRINT>"
على سبيل المثال، باستخدام بصمة الإبهام لـ P2SRootCert في الخطوة السابقة، يبدو المتغير كما يلي:
$cert = Get-ChildItem -Path "Cert:\CurrentUser\My\7181AA8C1B4D34EEDB2F3D3BEC5839F3FE52D655"
قم بتعديل وتشغيل المثال لإنشاء شهادة العميل. إذا قمت بتشغيل المثال التالي دون تعديله، فإن النتيجة هي شهادة عميل تسمى "P2SChildCert". إذا كنت تريد تسمية الشهادة الفرعية بشيء آخر، فقم بتعديل قيمة CN. لا تقم بتغيير TextExtension عند تشغيل هذا المثال. يتم تثبيت شهادة العميل التي تقوم بإنشائها تلقائيًا في 'Certificates - Current User\Personal\Certificates' على جهاز الكمبيوتر لديك.
$params = @{ Type = 'Custom' Subject = 'CN=P2SChildCert' DnsName = 'P2SChildCert1' KeySpec = 'Signature' KeyExportPolicy = 'Exportable' KeyLength = 2048 HashAlgorithm = 'sha256' NotAfter = (Get-Date).AddMonths(18) CertStoreLocation = 'Cert:\CurrentUser\My' Signer = $cert TextExtension = @( '2.5.29.37={text}1.3.6.1.5.5.7.3.2') } New-SelfSignedCertificate @params
تصدير المفتاح العام للشهادة الجذر (.cer)
بعد إنشاء شهادة جذر موقعة ذاتيًا ، قم بتصدير ملف .cer للشهادة الجذر (وليس المفتاح الخاص). ستقوم لاحقًا بتحميل بيانات الشهادة الضرورية الموجودة في الملف إلى Azure. تساعدك الخطوات التالية على تصدير ملف .cer لشهادة الجذر الموقعة ذاتيًا واسترداد بيانات الشهادة الضرورية.
للحصول على ملف .cer الشهادة، افتح إدارة شهادات المستخدم.
حدد موقع شهادة الجذر الموقعة ذاتيا، عادة في Certificates - Current User\Personal\Certificates، وانقر بزر الماوس الأيمن. حدد All Tasks ->Export. يؤدي هذا إلى فتح معالج تصدير الشهادات.
إذا لم تتمكن من العثور على الشهادة ضمن "المستخدم الحالي\الشخصية\الشهادات"، فقد تكون فتحت الشهادات - الكمبيوتر المحلي عن طريق الخطأ، بدلا من الشهادات - المستخدم الحالي.
في المعالج، حدد التالي.
حدد لا، لا تقم بتصدير المفتاح الخاص، ثم حدد التالي.
في صفحة Export File Format ، حدد Base-64 encoded X.509 (. CER).، ثم حدد Next.
بالنسبة إلى ملف إلى تصدير، استعرض للوصول إلى الموقع الذي تريد تصدير الشهادة إليه. بالنسبة إلى اسم الملف، قم بتسمية ملف الشهادة. ثم حدد التالي.
حدد إنهاء لتصدير الشهادة.
ترى تأكيدا يفيد بأن التصدير كان ناجحا.
انتقل إلى الموقع حيث قمت بتصدير الشهادة وافتحها باستخدام محرر نص، مثل المفكرة. إذا قمت بتصدير الشهادة في X.509 المشفرة Base-64 المطلوبة (. تنسيق CER)، ترى نصا مشابها للمثال التالي. يحتوي القسم المميز باللون الأزرق على المعلومات التي تقوم بنسخها وتحميلها إلى Azure.
إذا كان ملفك لا يبدو مشابهًا للمثال، فعادةً ما يعني هذا أنك لم تقم بتصديره باستخدام تنسيق Base-64 المشفر X.509 (.CER). بالإضافة إلى ذلك، إذا كنت تستخدم محرر نصوص غير المفكرة، فاعلم أن بعض المحررين يمكنهم تقديم تنسيق غير مقصود في الخلفية. يمكن أن يؤدي ذلك إلى حدوث مشاكل عند تحميل النص من هذه الشهادة إلى Azure.
تصدير شهادة الجذر الموقعة ذاتيًا والمفتاح الخاص لتخزينها (اختياري)
قد ترغب في تصدير شهادة الجذر الموقعة ذاتيًا وتخزينها بأمان كنسخة احتياطية. إذا لزم الأمر، يمكنك تثبيتها لاحقاً على كمبيوتر آخر وإنشاء المزيد من شهادات العميل. لتصدير شهادة الجذر الموقعة ذاتيًا كـ .pfx، حدد شهادة الجذر واستخدم نفس الخطوات الموضحة في تصدير شهادة العميل .
تصدير شهادة العميل
عند إنشاء شهادة عميل، يتم تثبيتها تلقائيا على الكمبيوتر الذي استخدمته لإنشائها. إذا كنت ترغب في تثبيت شهادة العميل على كمبيوتر عميل آخر، فأنت بحاجة أولاً إلى تصدير شهادة العميل.
لتصدير شهادة العميل، افتح إدارة شهادات المستخدم. تقع شهادات العميل التي قمت بإنشائها، افتراضياً، في 'Certificates - Current User\Personal\Certificates'. انقر بزر الماوس الأيمن فوق شهادة العميل التي تريد تصديرها، ثم انقر فوق جميع المهام، ثم انقر فوق تصدير لفتح معالج تصدير الشهادات.
في معالج تصدير الشهادة، انقر فوق التالي للمتابعة.
حدد نعم، قم بتصدير المفتاح الخاص، ثم انقر فوق التالي.
في صفحة تصدير تنسيق الملف، اترك الإعدادات الافتراضية المحددة. تأكد من تحديد تضمين جميع الشهادات في مسار الشهادة إن أمكن. بالإضافة إلى ذلك، يقوم هذا الإعداد بتصدير معلومات الشهادة الأصلية المطلوبة لمصادقة العميل بنجاح. بدونه، تفشل مصادقة العميل لأن العميل ليس لديه شهادة الجذر الموثوق بها. ثم انقر فوق Next.
في صفحة الأمان، يجب عليك حماية المفتاح الخاص. إذا اخترت استخدام كلمة مرور، فتأكد من تسجيل أو تذكر كلمة المرور التي قمت بتعيينها لهذه الشهادة. ثم انقر فوق Next.
في الملف المطلوب تصديره، استعرض وصولاً إلى الموقع الذي تريد تصدير الشهادة إليه. بالنسبة إلى اسم الملف، قم بتسمية ملف الشهادة. ثم انقر فوق Next.
انقر فوق إنهاء لتصدير الشهادة.
تثبيت شهادة العميل المصدرة
يتطلب كل عميل يتصل عبر اتصال P2S تثبيت شهادة عميل محليًا. لتثبيت شهادة عميل، راجع تثبيت شهادة عميل للاتصالات من نقطة إلى موقع.
الخطوات التالية
تابع التكوين من نقطة إلى موقع.
- للحصول على خطوات نموذج توزيع Resource Manager، راجع تكوين P2S باستخدام مصادقة شهادة Azure الأصلية.
- للحصول على خطوات نموذج التوزيع الكلاسيكي، راجع تكوين اتصال VPN من نقطة إلى موقع إلى شبكة ظاهرية (كلاسيكي).