إنشاء شهادات تجريبية لاختبار ميزات جهاز IoT Edge
ينطبق على: IoT Edge 1.1
هام
كان تاريخ انتهاء دعم IoT Edge 1.1 هو 13 ديسمبر 2022. تحقق من دورة حياة المنتج من Microsoft للحصول على معلومات حول كيفية دعم هذا المنتج أو الخدمة أو التقنية أو API. لمزيد من المعلومات حول التحديث إلى أحدث إصدار من IoT Edge، راجع تحديث 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 الخاص بك بخطوات سهلة.
انتقل إلى دليل حيث تريد تثبيت vcpkg. اتبع الإرشادات لتنزيل vcpkg وتثبيته.
بمجرد تثبيت vcpkg، قم بتشغيل الأمر التالي من موجه PowerShell لتثبيت حزمة OpenSSL ل Windows x64. يستغرق التثبيت عادة حوالي 5 دقائق لإكماله.
.\vcpkg install openssl:x64-windows
أضف
<vcpkg path>\installed\x64-windows\tools\openssl
إلى متغير بيئة PATH بحيث يتوفر ملف openssl.exe للادعاء.
إعداد البرامج النصية في PowerShell
يحتوي مستودع Azure IoT Edge git على برامج نصية يمكنك استخدامها لإنشاء شهادات اختبار. في هذا القسم، يمكنك استنساخ مستودع IoT Edge وتنفيذ البرامج النصية.
افتح نافذة PowerShell في وضع المسؤول.
انسخ مستودع IoT Edge git، الذي يحتوي على برامج نصية لإنشاء شهادات تجريبية.
git clone
استخدم الأمر أو قم بتنزيل ZIP.git clone https://github.com/Azure/iotedge.git
إنشاء دليل تريد العمل فيه ونسخ البرامج النصية للشهادة هناك. سيتم إنشاء جميع ملفات الشهادة والمفتاح في هذا الدليل.
mkdir wrkdir cd .\wrkdir\ cp ..\iotedge\tools\CACertificates\*.cnf . cp ..\iotedge\tools\CACertificates\ca-certs.ps1 .
إذا قمت بتنزيل المستودع ك ZIP، فإن اسم المجلد هو
iotedge-master
وبقية المسار هو نفسه.تمكين PowerShell لتشغيل البرامج النصية.
Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope CurrentUser
أحضر الوظائف المستخدمة من قبل البرامج النصية في مساحة الاسم العمومية ل PowerShell.
. .\ca-certs.ps1
ستعرض نافذة PowerShell تحذيرا بأن الشهادات التي تم إنشاؤها بواسطة هذا البرنامج النصي هي فقط لأغراض الاختبار، ولا يجب استخدامها في سيناريوهات الإنتاج.
تحقق من تثبيت OpenSSL بشكل صحيح وتأكد من عدم تضارب الأسماء مع الشهادات الموجودة. إذا كانت هناك مشاكل، يجب أن يصف إخراج البرنامج النصي كيفية إصلاحها على النظام الخاص بك.
Test-CACertsPrerequisites
إنشاء شهادة المرجع المصدق الجذر
قم بتشغيل هذا البرنامج النصي لإنشاء مرجع مصدق جذري مطلوب لكل خطوة في هذه المقالة.
يتم استخدام شهادة المرجع المصدق الجذر لجعل جميع الشهادات التجريبية الأخرى لاختبار سيناريو IoT Edge. يمكنك الاستمرار في استخدام نفس شهادة المرجع المصدق الجذر لإنشاء شهادات تجريبية لعدة أجهزة IoT Edge أو انتقال البيانات من الخادم.
إذا كان لديك بالفعل شهادة CA جذر واحدة في مجلد العمل الخاص بك، فلا تقم بإنشاء شهادة جديدة. ستستبدل شهادة المرجع المصدق الجذر الجديد القديم، وستتوقف أي شهادات انتقال البيانات من الخادم التي تم إجراؤها من الشهادة القديمة عن العمل. إذا كنت تريد العديد من شهادات المرجع المصدق الجذر، فتأكد من إدارتها في مجلدات منفصلة.
انتقل إلى دليل
wrkdir
العمل حيث وضعت البرامج النصية لإنشاء الشهادة.أنشئ شهادة المرجع المصدق الجذر وامتلكها لتوقيع شهادة وسيطة واحدة. يتم وضع جميع الشهادات في دليل العمل الخاص بك.
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.
انتقل إلى دليل
wrkdir
العمل الذي يحتوي على البرامج النصية لإنشاء الشهادة وشهادة المرجع المصدق الجذر.إنشاء شهادة هوية جهاز IoT Edge والمفتاح الخاص باستخدام الأمر التالي:
New-CACertsEdgeDeviceIdentity "<device-id>"
الاسم الذي تمرره إلى هذا الأمر هو معرف الجهاز لجهاز IoT Edge في IoT Hub.
ينشئ أمر هوية الجهاز الجديد العديد من الشهادات والملفات الرئيسية:
نوع الملف الوصف شهادة هوية الجهاز 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.
إنشاء شهادات CA للجهاز
هذه الشهادات مطلوبة لسيناريوهات البوابة لأن شهادة المرجع المصدق للجهاز هي الطريقة التي يتحقق بها جهاز IoT Edge من هويته إلى أجهزة انتقال البيانات من الخادم. يمكنك تخطي هذا القسم إذا كنت لا تقوم بتوصيل أي أجهزة انتقال البيانات من الخادم إلى IoT Edge.
شهادة المرجع المصدق للجهاز مسؤولة أيضا عن إنشاء شهادات للوحدات النمطية التي تعمل على الجهاز، ولكن يمكن لوقت تشغيل IoT Edge إنشاء شهادة مؤقتة إذا لم يتم تكوين المرجع المصدق للجهاز. تنتقل شهادات المرجع المصدق للجهاز في قسم الشهادة من config.yaml
الملف على جهاز IoT Edge. لمعرفة المزيد، راجع فهم كيفية استخدام Azure IoT Edge للشهادات.
انتقل إلى دليل
wrkdir
العمل الذي يحتوي على البرامج النصية لإنشاء الشهادة وشهادة المرجع المصدق الجذر.إنشاء شهادة المرجع المصدق IoT Edge والمفتاح الخاص باستخدام الأمر التالي. أدخل اسما لشهادة المرجع المصدق. يجب ألا يكون الاسم الذي تم تمريره إلى الأمر New-CACertsEdgeDevice هو نفس معلمة اسم المضيف في ملف التكوين أو معرف الجهاز في IoT Hub.
New-CACertsEdgeDevice "<CA cert name>"
ينشئ هذا الأمر العديد من الملفات الرئيسية والشهادات. يجب نسخ الشهادة التالية وزوج المفاتيح إلى جهاز 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.
انتقل إلى دليل
wrkdir
العمل الذي يحتوي على البرامج النصية لإنشاء الشهادة وشهادة المرجع المصدق الجذر.قم بإنشاء شهادتين اثنتين (أساسية وثانوية) لجهاز انتقال البيانات من الخادم الخاص بك. اصطلاح تسمية سهل الاستخدام هو إنشاء الشهادات باسم جهاز 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
استرداد بصمة الإبهام SHA1 (تسمى بصمة الإبهام في سياقات IoT Hub) من كل شهادة. بصمة الإبهام هي سلسلة أحرف سداسية عشرية 40. استخدم الأمر openssl التالي لعرض الشهادة والعثور على بصمة الإبهام:
openssl x509 -in certs\iot-device-<device name>-primary.cert.pem -text -thumbprint
قم بتشغيل هذا الأمر مرتين، مرة للشهادة الأساسية ومرة للشهادة الثانوية. يمكنك توفير بصمة الإبهام لكلا الشهادتين عند تسجيل جهاز IoT جديد باستخدام شهادات X.509 الموقعة ذاتيا.
الشهادات الموقعة من CA
عند مصادقة جهاز IoT مع شهادات موقعة من CA، تحتاج إلى تحميل شهادة المرجع المصدق الجذر للحل الخاص بك إلى IoT Hub. استخدم نفس شهادة المرجع المصدق الجذر لإنشاء شهادات الجهاز لوضعها على جهاز IoT الخاص بك بحيث يمكن المصادقة باستخدام IoT Hub.
الشهادات في هذا القسم مخصصة للخطوات في سلسلة البرامج التعليمية لشهادة IoT Hub X.509. راجع فهم تشفير المفتاح العام والبنية الأساسية للمفتاح العام X.509 لإدخال هذه السلسلة.
قم بتحميل ملف شهادة المرجع المصدق الجذر من دليل العمل الخاص بك، ،
certs\azure-iot-test-only.root.ca.cert.pem
إلى مركز IoT الخاص بك.إذا لم يتم تحديد التحقق التلقائي، فاستخدم التعليمات البرمجية المتوفرة في مدخل Microsoft Azure للتحقق من أنك تملك شهادة المرجع المصدق الجذر هذه.
New-CACertsVerificationCert "<verification code>"
قم بإنشاء سلسلة شهادات لجهاز انتقال البيانات من الخادم الخاص بك. استخدم نفس معرف الجهاز الذي تم تسجيل الجهاز به في 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