إنشاء وتصدير شهادات لاتصال من نقطة إلى موقع باستخدام PowerShell

تستخدم الاتصالات من نقطة إلى موقع الشهادات للمصادقة. توضح لك هذه المقالة كيفية إنشاء شهادة جذر موقعة ذاتيًا وإنشاء شهادات العميل باستخدام PowerShell على نظام التشغيل Windows 10 أو إصدار أحدث أو Windows Server 2016 أو أحدث.

تعد أوامر cmdlets الخاصة بـ PowerShell التي تستخدمها لإنشاء الشهادات جزءًا من نظام التشغيل ولا تعمل على إصدارات أخرى من Windows. يتم استخدام نظام التشغيل المضيف فقط لإنشاء الشهادات. بمجرد إنشاء الشهادات، يمكنك تحميلها أو تثبيتها على أي نظام تشغيل عميل مدعوم.

إذا لم يكن لديك كمبيوتر يلبي متطلبات نظام التشغيل، يمكنك استخدام MakeCert لإنشاء الشهادات. يمكن تثبيت الشهادات التي تقوم بإنشائها باستخدام أي من الطريقتين على أي نظام تشغيل عميل مدعوم.

إنشاء شهادة جذرية موقعة ذاتياً

استخدم cmdlet المسمى New-SelfSignedCertificate لإنشاء شهادة جذر موقعة ذاتياً. للحصول على معلومات إضافية حول المعلمات، راجع New-SelfSignedCertificate.

  1. من جهاز كمبيوتر يعمل بنظام Windows 10 أو إصدار أحدث، أو Windows Server 2016، افتح وحدة تحكم Windows PowerShell بامتيازات مرتفعة.

  2. إنشاء شهادة جذر موقعة ذاتيا. ينشئ المثال التالي شهادة جذر موقعة ذاتيا تسمى "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
    
  3. اترك وحدة تحكم 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 نفسها التي استخدمتها لإنشاء شهادة جذر موقعة ذاتياً، فاستخدم الخطوات التالية:

  1. تحديد شهادة الجذر الموقعة ذاتياً المثبتة على الكمبيوتر. يعمل هذا الأمر cmdlet على إرجاع قائمة الشهادات المثبتة على جهاز الكمبيوتر الخاص بك.

    Get-ChildItem -Path "Cert:\CurrentUser\My"
    
  2. حدد موقع اسم الموضوع من القائمة التي تم إرجاعها، ثم انسخ بصمة الإبهام الموجودة بجانبه إلى ملف نصي. في المثال التالي، توجد شهادتان. اسم CN هو اسم الشهادة الجذر الموقعة ذاتياً، والتي تريد إنشاء شهادة تابعة منها. في هذه الحالة، "P2SRootCert".

    Thumbprint                                Subject
    ----------                                -------
    AED812AD883826FF76B4D1D5A77B3C08EFA79F3F  CN=P2SChildCert4
    7181AA8C1B4D34EEDB2F3D3BEC5839F3FE52D655  CN=P2SRootCert
    
  3. قم بالإعلان عن متغير للشهادة الجذر باستخدام بصمة الإبهام من الخطوة السابقة. استبدل بصمة الإبهام ببصمة إبهام الشهادة الجذر التي تريد إنشاء شهادة تابعة منها.

    $cert = Get-ChildItem -Path "Cert:\CurrentUser\My\<THUMBPRINT>"
    

    على سبيل المثال، باستخدام بصمة الإبهام لـ P2SRootCert في الخطوة السابقة، يبدو المتغير كما يلي:

    $cert = Get-ChildItem -Path "Cert:\CurrentUser\My\7181AA8C1B4D34EEDB2F3D3BEC5839F3FE52D655"
    
  4. قم بتعديل وتشغيل المثال لإنشاء شهادة العميل. إذا قمت بتشغيل المثال التالي دون تعديله، فإن النتيجة هي شهادة عميل تسمى "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 لشهادة الجذر الموقعة ذاتيًا واسترداد بيانات الشهادة الضرورية.

  1. للحصول على ملف .cer الشهادة، افتح إدارة شهادات المستخدم.

    حدد موقع شهادة الجذر الموقعة ذاتيًا، عادةً في "Certificates - Current User\Personal\Certificates"، وانقر بزر الماوس الأيمن. انقر فوق كافة المهام ->تصدير. يؤدي هذا إلى فتح معالج تصدير الشهادات.

    إذا لم تتمكن من العثور على الشهادة ضمن "Current User\Personal\Certificates"، فقد تكون قد فتحت بطريق الخطأ "Certificates - Local Computer"، بدلاً من "Certificates - Current User".

    تُظهر لقطة الشاشة نافذة الشهادات مع تحديد جميع المهام ثم تصدير.

  2. في المعالج، انقر فوق التالي.

  3. حدد لا، لا تقم بتصدير المفتاح الخاص، ثم انقر فوق التالي.

    تظهر لقطة الشاشة “لا تقم بتصدير المفتاح الخاص”.

  4. في صفحة تصدير تنسيق الملف، حدد Base-64 بتشفير X.509 (.CER).، ثم انقر فوق التالي.

    لقطة شاشة تعرض ترميز Base-64 للتصدير.

  5. بالنسبة إلى ملف للتصدير، تصفح إلى الموقع الذي تريد تصدير الشهادة إليه. بالنسبة إلى اسم الملف، قم بتسمية ملف الشهادة. ثم انقر فوق Next.

  6. انقر فوق إنهاء لتصدير الشهادة.

  7. سترى تأكيدًا يقول "تم التصدير بنجاح".

  8. انتقل إلى المكان حيث قمت بتصدير الشهادة وافتحها باستخدام محرر نص، مثل المفكرة. إذا قمت بتصدير الشهادة في X.509 المشفرة Base-64 المطلوبة (. تنسيق CER)، سترى نصًا مشابهًا للمثال التالي. يحتوي القسم المميز باللون الأزرق على المعلومات التي تقوم بنسخها وتحميلها إلى Azure.

    لقطة شاشة تعرض ملف CER مفتوحًا في المفكرة مع تمييز بيانات الشهادة.

    إذا كان ملفك لا يبدو مشابهًا للمثال، فعادةً ما يعني هذا أنك لم تقم بتصديره باستخدام تنسيق Base-64 المشفر X.509 (.CER). بالإضافة إلى ذلك، إذا كنت تستخدم محرر نصوص غير المفكرة، فاعلم أن بعض المحررين يمكنهم تقديم تنسيق غير مقصود في الخلفية. يمكن أن يؤدي ذلك إلى حدوث مشاكل عند تحميل النص من هذه الشهادة إلى Azure.

تصدير شهادة الجذر الموقعة ذاتياً والمفتاح الخاص لتخزينها (اختياري)

قد ترغب في تصدير شهادة الجذر الموقعة ذاتياً وتخزينها بأمان كنسخة احتياطية. إذا لزم الأمر، يمكنك تثبيتها لاحقاً على كمبيوتر آخر وإنشاء المزيد من شهادات العميل. لتصدير شهادة الجذر الموقعة ذاتياً كـ ‎.pfx، حدد شهادة الجذر واستخدم نفس الخطوات الموضحة في تصدير شهادة العميل.

تصدير شهادة العميل

عند إنشاء شهادة عميل، يتم تثبيتها تلقائياً على الكمبيوتر الذي استخدمته لإنشائها. إذا كنت ترغب في تثبيت شهادة العميل على كمبيوتر عميل آخر، فأنت بحاجة أولاً إلى تصدير شهادة العميل.

  1. لتصدير شهادة العميل، افتح إدارة شهادات المستخدم. تقع شهادات العميل التي قمت بإنشائها، افتراضياً، في 'Certificates - Current User\Personal\Certificates'. انقر بزر الماوس الأيمن فوق شهادة العميل التي تريد تصديرها، ثم انقر فوق جميع المهام، ثم انقر فوق تصدير لفتح معالج تصدير الشهادات.

    تُظهر لقطة الشاشة نافذة الشهادات مع تحديد كل المهام والتصدير.

  2. في معالج تصدير الشهادة، انقر فوق التالي للمتابعة.

  3. حدد نعم، قم بتصدير المفتاح الخاص، ثم انقر فوق التالي.

    لقطة شاشة تظهر نعم لتصدير المفتاح الخاص المحدد.

  4. في صفحة تصدير تنسيق الملف، اترك الإعدادات الافتراضية المحددة. تأكد من تحديد تضمين جميع الشهادات في مسار الشهادة إن أمكن. بالإضافة إلى ذلك، يقوم هذا الإعداد بتصدير معلومات الشهادة الأصلية المطلوبة لمصادقة العميل بنجاح. بدونه، تفشل مصادقة العميل لأن العميل ليس لديه شهادة الجذر الموثوق بها. ثم انقر فوق Next.

    لقطة شاشة لصفحة تنسيق ملف التصدير.

  5. في صفحة الأمان، يجب عليك حماية المفتاح الخاص. إذا اخترت استخدام كلمة مرور، فتأكد من تسجيل أو تذكر كلمة المرور التي قمت بتعيينها لهذه الشهادة. ثم انقر فوق Next.

    تظهر لقطة شاشة كلمة المرور تم إدخالها وتأكيدها.

  6. في الملف المطلوب تصديره، استعرض وصولاً إلى الموقع الذي تريد تصدير الشهادة إليه. بالنسبة إلى اسم الملف، قم بتسمية ملف الشهادة. ثم انقر فوق Next.

  7. انقر فوق إنهاء لتصدير الشهادة.

تثبيت شهادة العميل المصدرة

يتطلب كل عميل يتصل عبر اتصال P2S تثبيت شهادة عميل محليًا. لتثبيت شهادة عميل، راجع تثبيت شهادة عميل للاتصالات من نقطة إلى موقع.

الخطوات التالية

تابع التكوين من نقطة إلى موقع.