إنشاء شهادات تجريبية لاختبار ميزات جهاز IoT Edge
ينطبق على:
IoT Edge 1.1 الإصدارات الأخرى:IoT Edge 1.2
ينطبق على:
IoT Edge 1.2 الإصدارات الأخرى:IoT Edge 1.1
تتطلب أجهزة 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\certGen.sh .إذا قمت بتنزيل المستودع ك 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 إذا اخترت استخدام مصادقة شهادة X.509. تعمل هذه الشهادات سواء كنت تستخدم التوفير اليدوي أو التوفير التلقائي من خلال خدمة توفير جهاز Azure IoT Hub (DPS). إذا كنت تستخدم مفتاحا متماثلا للمصادقة على IoT Hub أو DPS، فلن تكون هناك حاجة إلى هذه الشهادات.
تنتقل شهادات هوية الجهاز في قسم التزويد في ملف التكوين على جهاز IoT Edge.
انتقل إلى دليل
wrkdirالعمل الذي يحتوي على البرامج النصية لإنشاء الشهادة وشهادة المرجع المصدق الجذر.إنشاء شهادة هوية جهاز IoT Edge والمفتاح الخاص باستخدام الأمر التالي:
New-CACertsEdgeDeviceIdentity "<device-id>"الاسم الذي تمرره إلى هذا الأمر هو معرف الجهاز لجهاز IoT Edge في IoT Hub.
ينشئ أمر هوية الجهاز الجديد عدة شهادات وملفات رئيسية:
certs\iot-edge-device-identity-<device-id>-full-chain.cert.pemcerts\iot-edge-device-identity-<device-id>.cert.pemprivate\iot-edge-device-identity-<device-id>.key.pem
بعد ذلك، اتبع هذه الإرشادات اعتمادا على أسلوبك للتزويد:
- لتوفير جهاز IoT Edge إلى IoT Hub، خذ بصمة
iot-edge-device-identity-<device-id>.key.pemالإبهام وحملها إلى IoT Hub بعد توفير IoT Edge لنظام Linux على جهاز Windows باستخدام شهادات X.509. - لتوفير جهاز IoT Edge باستخدام DPS، راجع توفير IoT Edge لنظام Linux على أجهزة Windows على نطاق واسع باستخدام شهادات X.509.
إنشاء شهادات المرجع المصدق ل IoT Edge
يحتاج كل جهاز IoT Edge يذهب إلى الإنتاج إلى شهادة توقيع المرجع المصدق المشار إليها من ملف التكوين. تعرف هذه الشهادة باسم شهادة المرجع المصدق للجهاز. شهادة المرجع المصدق للجهاز مسؤولة عن إنشاء شهادات للوحدات النمطية التي تعمل على الجهاز. من الضروري أيضا لسيناريوهات البوابة، لأن شهادة المرجع المصدق للجهاز هي الطريقة التي يتحقق بها جهاز IoT Edge من هويته إلى أجهزة انتقال البيانات من الخادم. لمعرفة المزيد، راجع فهم كيفية استخدام Azure IoT Edge للشهادات.
تنتقل شهادات CA للجهاز في قسم الشهادة من ملف config.yaml على جهاز IoT Edge.
يحتاج كل جهاز IoT Edge يذهب إلى الإنتاج إلى شهادة توقيع المرجع المصدق المشار إليها من ملف التكوين. تعرف هذه الشهادة باسم شهادة المرجع المصدق للحافة. شهادة المرجع المصدق الحافة مسؤولة عن إنشاء شهادات للوحدات النمطية التي تعمل على الجهاز. من الضروري أيضا لسيناريوهات البوابة، لأن شهادة المرجع المصدق للحافة هي الطريقة التي يتحقق بها جهاز IoT Edge من هويته إلى أجهزة انتقال البيانات من الخادم. لمعرفة المزيد، راجع فهم كيفية استخدام Azure IoT Edge للشهادات
تنتقل شهادات المرجع المصدق ل Edge في قسم Edge CA من ملف config.toml على جهاز 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.pemprivate\iot-edge-device-ca-<CA cert name>.key.pem
إنشاء شهادات جهاز انتقال البيانات من الخادم
إذا كنت تقوم بإعداد جهاز IoT انتقال البيانات من الخادم لسيناريو البوابة وتريد استخدام مصادقة X.509، يمكنك إنشاء شهادات تجريبية لجهاز انتقال البيانات من الخادم. إذا كنت تريد استخدام مصادقة المفتاح المتماثل، فلن تحتاج إلى إنشاء شهادات إضافية لجهاز انتقال البيانات من الخادم.
هناك طريقتان لمصادقة جهاز IoT باستخدام شهادات X.509: استخدام شهادات موقعة ذاتيا أو استخدام شهادات موقعة من المرجع المصدق (CA).
- بالنسبة للمصادقة الموقعة ذاتيا في X.509، التي يشار إليها أحيانا باسم مصادقة بصمة الإبهام ، تحتاج إلى إنشاء شهادات جديدة لوضعها على جهاز IoT الخاص بك. تحتوي هذه الشهادات بداخلها علي بصمة الإبهام التي تشاركها مع موزع IoT للمصادقة.
- للحصول على مصادقة موقعة المرجع المصدق (CA) X.509 تحتاج إلى شهادة المرجع المصدق الجذري المسجلة في موزع IoT التي تستخدمها لتوقيع الشهادات لجهاز IoT الخاص بك. يمكن مصادقة أي جهاز يستخدم شهادة تم إصدارها بواسطة شهادة المرجع المصدق الجذر أو أي من شهاداته الوسيطة.
يمكن أن تساعدك البرامج النصية لإنشاء الشهادة في إنشاء شهادات تجريبية لاختبار أي من سيناريوهات المصادقة هذه.
الشهادات الموقعة ذاتيًا
عند مصادقة جهاز IoT مع شهادات موقعة ذاتيا، تحتاج إلى إنشاء شهادات الجهاز استنادا إلى شهادة المرجع المصدق الجذر للحل الخاص بك. ثم تقوم باسترداد "بصمة" سداسية عشرية من الشهادات لتوفيرها إلى IoT Hub. يحتاج جهاز IoT الخاص بك أيضا إلى نسخة من شهادات الجهاز الخاصة به حتى يتمكن من المصادقة باستخدام IoT Hub.
انتقل إلى دليل
wrkdirالعمل الذي يحتوي على البرامج النصية لإنشاء الشهادة وشهادة المرجع المصدق الجذر.قم بإنشاء شهادتين اثنتين (أساسية وثانوية) لجهاز انتقال البيانات من الخادم الخاص بك. اصطلاح تسمية سهل الاستخدام هو إنشاء الشهادات باسم جهاز IoT ثم التسمية الأساسية أو الثانوية. على سبيل المثال:
New-CACertsDevice "<device ID>-primary" New-CACertsDevice "<device ID>-secondary"ينشئ أمر البرنامج النصي هذا العديد من الملفات الرئيسية والشهادات. يجب نسخ الشهادة وأزواج المفاتيح التالية إلى جهاز IoT المتلقي للمعلومات والإشارة إليها في التطبيقات التي تتصل بمركز IoT:
certs\iot-device-<device ID>-primary-full-chain.cert.pemcerts\iot-device-<device ID>-secondary-full-chain.cert.pemcerts\iot-device-<device ID>-primary.cert.pemcerts\iot-device-<device ID>-secondary.cert.pemcerts\iot-device-<device ID>-primary.cert.pfxcerts\iot-device-<device ID>-secondary.cert.pfxprivate\iot-device-<device ID>-primary.key.pemprivate\iot-device-<device ID>-secondary.key.pem
استرجع بصمة SHA1 (تسمى بصمة الإبهام في سياقات IoT Hub) من كل شهادة. بصمة الإصبع هي سلسلة أحرف سداسية عشرية 40. استخدم الأمر openssl التالي لعرض الشهادة والعثور على بصمة الإصبع:
openssl x509 -in certs\iot-device-<device name>-primary.cert.pem -text -fingerprintقم بتشغيل هذا الأمر مرتين، مرة للشهادة الأساسية ومرة للشهادة الثانوية. يمكنك توفير بصمات الأصابع لكلا الشهادتين عند تسجيل جهاز IoT جديد باستخدام شهادات X.509 الموقعة ذاتيا.
الشهادات الموقعة من CA
عند مصادقة جهاز IoT مع شهادات موقعة من CA، تحتاج إلى تحميل شهادة المرجع المصدق الجذر للحل الخاص بك إلى IoT Hub. استخدم نفس شهادة المرجع المصدق الجذر لإنشاء شهادات الجهاز لوضعها على جهاز IoT الخاص بك بحيث يمكنه المصادقة مع IoT Hub.
الشهادات الموجودة في هذا القسم مخصصة للخطوات في سلسلة البرامج التعليمية لشهادة IoT Hub X.509. راجع فهم تشفير المفتاح العام والبنية الأساسية للمفتاح العام X.509 لإدخال هذه السلسلة.
Upload ملف شهادة المرجع المصدق الجذر من دليل العمل الخاص بك،
certs\azure-iot-test-only.root.ca.cert.pemإلى مركز IoT الخاص بك.إذا لم يتم تحديد التحقق التلقائي، فاستخدم التعليمات البرمجية المتوفرة في مدخل Microsoft Azure للتحقق من أنك تملك شهادة المرجع المصدق الجذر هذه.
New-CACertsVerificationCert "<verification code>"قم بإنشاء سلسلة شهادات لجهاز انتقال البيانات من الخادم الخاص بك. استخدم نفس معرف الجهاز الذي تم تسجيل الجهاز به في IoT Hub.
New-CACertsDevice "<device id>"ينشئ أمر البرنامج النصي هذا العديد من الملفات الرئيسية والشهادات. يجب نسخ الشهادة وأزواج المفاتيح التالية إلى جهاز IoT المتلقي للمعلومات والإشارة إليها في التطبيقات التي تتصل بمركز IoT:
certs\iot-device-<device id>.cert.pemcerts\iot-device-<device id>.cert.pfxcerts\iot-device-<device id>-full-chain.cert.pemprivate\iot-device-<device id>.key.pem