مشاركة عبر


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

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

هام

IoT Edge 1.5 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 مثبتا بالفعل، فتأكد من توفر 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 أو انتقال البيانات من الخادم.

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

  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.

إنشاء شهادات المرجع المصدق ل Edge

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

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

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

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

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

    • certs\iot-edge-device-<CA cert name>-full-chain.cert.pem
    • private\iot-edge-device-<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