إنشاء شهادات تجريبية لاختبار ميزات جهاز IoT Edge

ينطبق على:علامة اختيار IoT Edge 1.5 IoT Edge 1.5 علامة اختيار IoT Edge 1.4 IoT Edge 1.4

هام

IoT Edge 1.5 LTS وIoT Edge 1.4 LTS هي إصدارات مدعومة. IoT Edge 1.4 LTS هو نهاية العمر الافتراضي في 12 نوفمبر 2024. إذا كنت تستخدم إصدارا سابقا، فشاهد تحديث IoT Edge.

تتطلب أجهزة IoT Edge شهادات للاتصال الآمن بين وقت التشغيل والوحدات النمطية وأي أجهزة انتقال البيانات من الخادم. إذا لم يكن لديك مرجع مصدق لإنشاء الشهادات المطلوبة، يمكنك استخدام الشهادات التجريبية لتجربة ميزات IoT Edge في بيئة الاختبار الخاصة بك. توضح هذه المقالة وظائف البرامج النصية لإنشاء الشهادة التي يوفرها IoT Edge للاختبار.

تحذير

تنتهي صلاحية هذه الشهادات في غضون 30 يوما، ولا يجب استخدامها في أي سيناريو إنتاج.

يمكنك إنشاء شهادات على أي جهاز ثم نسخها إلى جهاز IoT Edge الخاص بك، أو إنشاء الشهادات مباشرة على جهاز IoT Edge.

المتطلبات الأساسية

جهاز تطوير مثبت عليه Git.

تنزيل البرامج النصية لشهادة الاختبار وإعداد دليل العمل

يتضمن مستودع IoT Edge على GitHub البرامج النصية لإنشاء الشهادات التي يمكنك استخدامها لإنشاء شهادات تجريبية. يوفر هذا القسم إرشادات لإعداد البرامج النصية للتشغيل على جهاز الكمبيوتر الخاص بك، إما على Windows أو Linux.

لإنشاء شهادات تجريبية على جهاز Windows، تحتاج إلى تثبيت OpenSSL ثم استنساخ البرامج النصية للجيل وإعدادها للتشغيل محليا في PowerShell.

تثبيت OpenSSL

قم بتثبيت OpenSSL ل Windows على الجهاز الذي تستخدمه لإنشاء الشهادات. إذا كان لديك OpenSSL مثبت بالفعل على جهاز Windows، فتأكد من توفر openssl.exe في متغير بيئة PATH.

هناك عدة طرق لتثبيت OpenSSL، بما في ذلك الخيارات التالية:

  • أسهل: قم بتنزيل وتثبيت أي ثنائيات OpenSSL تابعة لجهة خارجية، على سبيل المثال، من OpenSSL على SourceForge. أضف المسار الكامل إلى openssl.exe إلى متغير بيئة PATH.

  • مستحسن: قم بتنزيل التعليمات البرمجية المصدر OpenSSL وأنشئ الثنائيات على جهازك بنفسك أو عبر vcpkg. تستخدم الإرشادات المذكورة أدناه vcpkg لتنزيل التعليمات البرمجية المصدر، والتحويل البرمجي، وتثبيت OpenSSL على جهاز Windows الخاص بك بخطوات سهلة.

    1. انتقل إلى دليل حيث تريد تثبيت vcpkg. اتبع الإرشادات لتنزيل vcpkg وتثبيته.

    2. بمجرد تثبيت vcpkg، قم بتشغيل الأمر التالي من موجه PowerShell لتثبيت حزمة OpenSSL ل Windows x64. يستغرق التثبيت عادة حوالي 5 دقائق لإكماله.

      .\vcpkg install openssl:x64-windows
      
    3. أضف <vcpkg path>\installed\x64-windows\tools\openssl إلى متغير بيئة PATH بحيث يتوفر ملف openssl.exe للادعاء.

إعداد البرامج النصية في PowerShell

يحتوي مستودع Azure IoT Edge git على برامج نصية يمكنك استخدامها لإنشاء شهادات اختبار. في هذا القسم، يمكنك استنساخ مستودع IoT Edge وتنفيذ البرامج النصية.

  1. افتح نافذة PowerShell في وضع المسؤول.

  2. انسخ مستودع IoT Edge git، الذي يحتوي على برامج نصية لإنشاء شهادات تجريبية. git clone استخدم الأمر أو قم بتنزيل ZIP.

    git clone https://github.com/Azure/iotedge.git
    
  3. إنشاء دليل تريد العمل فيه ونسخ البرامج النصية للشهادة هناك. سيتم إنشاء جميع ملفات الشهادة والمفتاح في هذا الدليل.

    mkdir wrkdir
    cd .\wrkdir\
    cp ..\iotedge\tools\CACertificates\*.cnf .
    cp ..\iotedge\tools\CACertificates\ca-certs.ps1 .
    

    إذا قمت بتنزيل المستودع ك ZIP، فإن اسم المجلد هو iotedge-master وبقية المسار هو نفسه.

  4. تمكين PowerShell لتشغيل البرامج النصية.

    Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope CurrentUser
    
  5. أحضر الوظائف المستخدمة من قبل البرامج النصية في مساحة الاسم العمومية ل PowerShell.

    . .\ca-certs.ps1
    

    ستعرض نافذة PowerShell تحذيرا بأن الشهادات التي تم إنشاؤها بواسطة هذا البرنامج النصي هي فقط لأغراض الاختبار، ولا يجب استخدامها في سيناريوهات الإنتاج.

  6. تحقق من تثبيت OpenSSL بشكل صحيح وتأكد من عدم تضارب الأسماء مع الشهادات الموجودة. إذا كانت هناك مشاكل، يجب أن يصف إخراج البرنامج النصي كيفية إصلاحها على النظام الخاص بك.

    Test-CACertsPrerequisites
    

إنشاء شهادة المرجع المصدق الجذر

قم بتشغيل هذا البرنامج النصي لإنشاء مرجع مصدق جذري مطلوب لكل خطوة في هذه المقالة.

يتم استخدام شهادة المرجع المصدق الجذر لجعل جميع الشهادات التجريبية الأخرى لاختبار سيناريو IoT Edge. يمكنك الاستمرار في استخدام نفس شهادة المرجع المصدق الجذر لإنشاء شهادات تجريبية لعدة أجهزة IoT Edge أو انتقال البيانات من الخادم.

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

  1. انتقل إلى دليل wrkdir العمل حيث وضعت البرامج النصية لإنشاء الشهادة.

  2. أنشئ شهادة المرجع المصدق الجذر وامتلكها لتوقيع شهادة وسيطة واحدة. يتم وضع جميع الشهادات في دليل العمل الخاص بك.

    New-CACertsCertChain rsa
    

    ينشئ أمر البرنامج النصي هذا عدة شهادات وملفات رئيسية، ولكن عندما تطلب المقالات شهادة المرجع المصدق الجذر، استخدم الملف التالي:

    certs\azure-iot-test-only.root.ca.cert.pem

هذه الشهادة مطلوبة قبل أن تتمكن من إنشاء المزيد من الشهادات لأجهزة IoT Edge وأجهزة انتقال البيانات من الخادم كما هو موضح في الأقسام التالية.

إنشاء شهادة هوية لجهاز IoT Edge

يتم استخدام شهادات هوية جهاز IoT Edge لتوفير أجهزة IoT Edge إذا اخترت استخدام مصادقة شهادة X.509. إذا كنت تستخدم مفتاحا متماثلا للمصادقة على IoT Hub أو DPS، فلن تكون هناك حاجة إلى هذه الشهادات، ويمكنك تخطي هذا القسم.

تعمل هذه الشهادات سواء كنت تستخدم التوفير اليدوي أو التوفير التلقائي من خلال خدمة توفير جهاز Azure IoT Hub (DPS).

تنتقل شهادات هوية الجهاز في قسم التزويد من ملف التكوين على جهاز IoT Edge.

  1. انتقل إلى دليل wrkdir العمل الذي يحتوي على البرامج النصية لإنشاء الشهادة وشهادة المرجع المصدق الجذر.

  2. إنشاء شهادة هوية جهاز IoT Edge والمفتاح الخاص باستخدام الأمر التالي:

    New-CACertsEdgeDeviceIdentity "<device-id>"
    

    الاسم الذي تمرره إلى هذا الأمر هو معرف الجهاز لجهاز IoT Edge في IoT Hub.

  3. ينشئ أمر هوية الجهاز الجديد العديد من الشهادات والملفات الرئيسية:

    نوع الملف ‏‏الوصف
    شهادة هوية الجهاز certs\iot-edge-device-identity-<device-id>.cert.pem موقعة من قبل الشهادة المتوسطة التي تم إنشاؤها مسبقا. يحتوي فقط على شهادة الهوية. حدد في ملف التكوين للتسجيل الفردي ل DPS أو توفير IoT Hub.
    شهادة السلسلة الكاملة certs\iot-edge-device-identity-<device-id>-full-chain.cert.pem يحتوي على سلسلة الشهادات الكاملة بما في ذلك الشهادة المتوسطة. حدد في ملف التكوين ل IoT Edge لتقديمه إلى DPS لتوفير تسجيل المجموعة.
    المفتاح الخاص private\iot-edge-device-identity-<device-id>.key.pem المفتاح الخاص المقترن بشهادة هوية الجهاز. يجب تحديده في ملف التكوين طالما كنت تستخدم نوعا من مصادقة الشهادة (بصمة الإبهام أو CA) إما ل DPS أو IoT Hub.

إنشاء شهادات المرجع المصدق للحافة

هذه الشهادات مطلوبة لسيناريوهات البوابة لأن شهادة المرجع المصدق للحافة هي الطريقة التي يتحقق بها جهاز IoT Edge من هويته إلى أجهزة انتقال البيانات من الخادم. يمكنك تخطي هذا القسم إذا كنت لا تقوم بتوصيل أي أجهزة انتقال البيانات من الخادم إلى IoT Edge.

شهادة المرجع المصدق للحافة مسؤولة أيضا عن إنشاء شهادات للوحدات النمطية التي تعمل على الجهاز، ولكن يمكن لوقت تشغيل IoT Edge إنشاء شهادات مؤقتة إذا لم يتم تكوين المرجع المصدق للحافة. تنتقل شهادات المرجع المصدق ل Edge في قسم Edge CA من config.toml الملف على جهاز IoT Edge. لمعرفة المزيد، راجع فهم كيفية استخدام Azure IoT Edge للشهادات.

  1. انتقل إلى دليل wrkdir العمل الذي يحتوي على البرامج النصية لإنشاء الشهادة وشهادة المرجع المصدق الجذر.

  2. إنشاء شهادة المرجع المصدق IoT Edge والمفتاح الخاص باستخدام الأمر التالي. أدخل اسما لشهادة المرجع المصدق. يجب ألايكون الاسم الذي تم تمريره إلى الأمر New-CACertsEdgeDevice هو نفس معلمة اسم المضيف في ملف التكوين أو معرف الجهاز في IoT Hub.

    New-CACertsEdgeDevice "<CA cert name>"
    
  3. ينشئ هذا الأمر العديد من الملفات الرئيسية والشهادات. يجب نسخ الشهادة التالية وزوج المفاتيح إلى جهاز IoT Edge والإشارة إليها في ملف التكوين:

    • certs\iot-edge-device-ca-<CA cert name>-full-chain.cert.pem
    • private\iot-edge-device-ca-<CA cert name>.key.pem

إنشاء شهادات جهاز انتقال البيانات من الخادم

هذه الشهادات مطلوبة لإعداد جهاز IoT انتقال البيانات من الخادم لسيناريو البوابة وتريد استخدام مصادقة X.509 مع IoT Hub أو DPS. إذا كنت ترغب في استخدام مصادقة المفتاح المتماثل، فلن تحتاج إلى إنشاء شهادات لجهاز انتقال البيانات من الخادم ويمكنك تخطي هذا القسم.

هناك طريقتان لمصادقة جهاز IoT باستخدام شهادات X.509: استخدام شهادات موقعة ذاتيا أو استخدام شهادات موقعة من المرجع المصدق (CA).

  • بالنسبة للمصادقة الموقعة ذاتيا ل X.509، التي يشار إليها أحيانا باسم مصادقة بصمة الإبهام، تحتاج إلى إنشاء شهادات جديدة لوضعها على جهاز IoT الخاص بك. تحتوي هذه الشهادات بداخلها علي بصمة الإبهام التي تشاركها مع موزع IoT للمصادقة.
  • للحصول على مصادقة موقعة من المرجع المصدق X.509 (CA)، تحتاج إلى شهادة المرجع المصدق الجذر المسجلة في IoT Hub أو DPS التي تستخدمها لتوقيع الشهادات لجهاز IoT الخاص بك. يمكن لأي جهاز يستخدم شهادة تم إصدارها بواسطة شهادة المرجع المصدق الجذر أو أي من شهاداته الوسيطة المصادقة طالما تم تقديم السلسلة الكاملة من قبل الجهاز.

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

الشهادات الموقعة ذاتيًا

عند مصادقة جهاز IoT بشهادات موقعة ذاتيا، تحتاج إلى إنشاء شهادات الجهاز استنادا إلى شهادة المرجع المصدق الجذري للحل الخاص بك. بعد ذلك، يمكنك استرداد "بصمة إبهام" سداسية عشرية من الشهادات لتوفيرها إلى IoT Hub. يحتاج جهاز IoT أيضا إلى نسخة من شهادات الجهاز الخاصة به حتى يتمكن من المصادقة باستخدام IoT Hub.

  1. انتقل إلى دليل wrkdir العمل الذي يحتوي على البرامج النصية لإنشاء الشهادة وشهادة المرجع المصدق الجذر.

  2. قم بإنشاء شهادتين اثنتين (أساسية وثانوية) لجهاز انتقال البيانات من الخادم الخاص بك. اصطلاح تسمية سهل الاستخدام هو إنشاء الشهادات باسم جهاز IoT ثم التسمية الأساسية أو الثانوية. على سبيل المثال:

    New-CACertsDevice "<device ID>-primary"
    New-CACertsDevice "<device ID>-secondary"
    

    ينشئ أمر البرنامج النصي هذا العديد من الملفات الرئيسية والشهادات. يجب نسخ الشهادة وأزواج المفاتيح التالية إلى جهاز IoT المتلقي للمعلومات والإشارة إليها في التطبيقات التي تتصل ب IoT Hub:

    • certs\iot-device-<device ID>-primary-full-chain.cert.pem
    • certs\iot-device-<device ID>-secondary-full-chain.cert.pem
    • certs\iot-device-<device ID>-primary.cert.pem
    • certs\iot-device-<device ID>-secondary.cert.pem
    • certs\iot-device-<device ID>-primary.cert.pfx
    • certs\iot-device-<device ID>-secondary.cert.pfx
    • private\iot-device-<device ID>-primary.key.pem
    • private\iot-device-<device ID>-secondary.key.pem
  3. استرداد بصمة الإبهام SHA1 (تسمى بصمة الإبهام في سياقات IoT Hub) من كل شهادة. بصمة الإبهام هي سلسلة أحرف سداسية عشرية 40. استخدم الأمر openssl التالي لعرض الشهادة والعثور على بصمة الإبهام:

    Write-Host (Get-Pfxcertificate -FilePath certs\iot-device-<device name>-primary.cert.pem).Thumbprint
    

    قم بتشغيل هذا الأمر مرتين، مرة للشهادة الأساسية ومرة للشهادة الثانوية. يمكنك توفير بصمة الإبهام لكلا الشهادتين عند تسجيل جهاز IoT جديد باستخدام شهادات X.509 الموقعة ذاتيا.

الشهادات الموقعة من CA

عند مصادقة جهاز IoT مع شهادات موقعة من CA، تحتاج إلى تحميل شهادة المرجع المصدق الجذر للحل الخاص بك إلى IoT Hub. استخدم نفس شهادة المرجع المصدق الجذر لإنشاء شهادات الجهاز لوضعها على جهاز IoT الخاص بك بحيث يمكن المصادقة باستخدام IoT Hub.

الشهادات في هذا القسم مخصصة للخطوات في سلسلة البرامج التعليمية لشهادة IoT Hub X.509. راجع فهم تشفير المفتاح العام والبنية الأساسية للمفتاح العام X.509 لإدخال هذه السلسلة.

  1. قم بتحميل ملف شهادة المرجع المصدق الجذر من دليل العمل الخاص بك، ، certs\azure-iot-test-only.root.ca.cert.pemإلى مركز IoT الخاص بك.

  2. إذا لم يتم تحديد التحقق التلقائي، فاستخدم التعليمات البرمجية المتوفرة في مدخل Microsoft Azure للتحقق من أنك تملك شهادة المرجع المصدق الجذر هذه.

    New-CACertsVerificationCert "<verification code>"
    
  3. قم بإنشاء سلسلة شهادات لجهاز انتقال البيانات من الخادم الخاص بك. استخدم نفس معرف الجهاز الذي تم تسجيل الجهاز به في IoT Hub.

    New-CACertsDevice "<device id>"
    

    ينشئ أمر البرنامج النصي هذا العديد من الملفات الرئيسية والشهادات. يجب نسخ الشهادة وأزواج المفاتيح التالية إلى جهاز IoT المتلقي للمعلومات والإشارة إليها في التطبيقات التي تتصل ب IoT Hub:

    • certs\iot-device-<device id>.cert.pem
    • certs\iot-device-<device id>.cert.pfx
    • certs\iot-device-<device id>-full-chain.cert.pem
    • private\iot-device-<device id>.key.pem