البرنامج التعليمي: إنشاء الشهادات وتحميلها للاختبار
يمكنك استخدام شهادات X.509 لمصادقة الأجهزة إلى مركز IoT. بالنسبة لبيئات الإنتاج، نوصي بشراء شهادة المرجع المصدق X.509 من مورد خدمات شهادات احترافي. يمكنك بعد ذلك إصدار شهادات داخل مؤسستك من مرجع مصدق داخلي مدار ذاتيا (CA) متسلسل إلى شهادة المرجع المصدق المشتراة كجزء من استراتيجية شاملة للبنية الأساسية للمفتاح العام (PKI). لمزيد من المعلومات حول الحصول على شهادة المرجع المصدق X.509 من مورد خدمات الشهادات المهنية، راجع قسم الحصول على شهادة المرجع المصدق X.509 من أجهزة المصادقة باستخدام شهادات المرجع المصدق X.509.
ومع ذلك، فإن إنشاء المرجع المصدق الخاص بك المدار ذاتيا والمدار ذاتيا الذي يستخدم مرجعا مصدقا جذريا داخليا حيث أن ارتساء الثقة مناسب لاختبار البيئات. يسمح لك المرجع المصدق الخاص المدار ذاتيا مع مرجع مصدق تابع واحد على الأقل مرتبط ب CA الجذر الداخلي الخاص بك، مع شهادات العميل لأجهزتك التي تم توقيعها من قبل المراجع المصدقة التابعة، لمحاكاة بيئة إنتاج موصى بها.
هام
لا نوصي باستخدام الشهادات الموقعة ذاتيا لبيئات الإنتاج. يتم تقديم هذا البرنامج التعليمي لأغراض العرض التوضيحي فقط.
يستخدم البرنامج التعليمي التالي OpenSSL وOpenSSL Cookbook لوصف كيفية إنجاز المهام التالية:
- إنشاء مرجع مصدق جذر داخلي (CA) وشهادة المرجع المصدق الجذر
- إنشاء مرجع مصدق ثانوي داخلي وشهادة CA تابعة، موقعة من قبل شهادة المرجع المصدق الجذر الداخلي
- تحميل شهادة المرجع المصدق التابعة إلى مركز IoT لأغراض الاختبار
- استخدم المرجع المصدق التابع لإنشاء شهادات العميل لأجهزة IoT التي تريد اختبارها باستخدام مركز IoT
إشعار
توفر Microsoft برامج PowerShell وBash النصية لمساعدتك على فهم كيفية إنشاء شهادات X.509 الخاصة بك ومصادقتها إلى مركز IoT. يتم تضمين البرامج النصية مع Azure IoT Hub Device SDK ل C. يتم توفير البرامج النصية لأغراض العرض التوضيحي فقط. يجب عدم استخدام الشهادات التي تم إنشاؤها للإنتاج. تحتوي هذه الشهادات على كلمات مرور بترميز ثابت ("1234") وتنتهي صلاحيتها بعد 30 يوماً. يجب عليك استخدام أفضل الممارسات الخاصة بك لإنشاء الشهادة وإدارة مدى الحياة في بيئة إنتاج. لمزيد من المعلومات، راجع إدارة شهادات CA الاختبارية للعينات والبرامج التعليمية في مستودع GitHub ل Azure IoT Hub Device SDK ل C.
المتطلبات الأساسية
اشتراك Azure. في حال لم يكن لديك اشتراك Azure، فأنشئ حساباً مجانيّاً قبل البدء.
مركز IoT في اشتِراك Azure الخاص بك. إذا لم تكن لديك مركز بعد، فإنه يمكنك اتباع الخطوات الواردة في إنشاء مركز IoT.
أحدث إصدار من Git. تأكد من إضافة Git إلى متغيرات البيئة التي يمكن الوصول إليها من نافذة الأمر. راجع أدوات عميل Software Freedom Conservancy's Git للحصول على أحدث إصدار من أدوات
git
للتثبيت، والتي تتضمن Git Bash، وهو تطبيق سطر الأوامر الذي يمكن استخدامه للتفاعل مع مستودع Git المحلي خاصتك.تثبيت OpenSSL. على Windows، يتضمن تثبيت Git تثبيت OpenSSL. يمكنك الوصول إلى OpenSSL من موجه Git Bash. للتحقق من تثبيت OpenSSL، افتح موجه Git Bash وأدخل
openssl version
.إشعار
ما لم تكن على دراية ب OpenSSL وقمت بتثبيته بالفعل على جهاز Windows، نوصي باستخدام OpenSSL من موجه Git Bash. بدلا من ذلك، يمكنك اختيار تنزيل التعليمات البرمجية المصدر وإنشاء OpenSSL. لمعرفة المزيد، راجع صفحة تنزيلات OpenSSL. أو يمكنك تنزيل OpenSSL الذي تم إنشاؤه مسبقا من جهة خارجية. لمعرفة المزيد، راجع OpenSSL wiki. لا تقدم Microsoft أي ضمانات حول صلاحية الحزم التي تم تنزيلها من جهات خارجية. إذا اخترت إنشاء OpenSSL أو تنزيله، فتأكد من إمكانية الوصول إلى ثنائي OpenSSL في المسار الخاص بك ومن
OPENSSL_CNF
تعيين متغير البيئة إلى مسار ملف openssl.cnf .
إنشاء مرجع مصدق جذري
يجب أولا إنشاء مرجع مصدق جذر داخلي (CA) وشهادة المرجع المصدق الجذر الموقعة ذاتيا لتكون بمثابة نقطة ارتساء ثقة يمكنك من خلالها إنشاء شهادات أخرى للاختبار. يتم تخزين الملفات المستخدمة لإنشاء المرجع المصدق الجذر الداخلي وصيانته في بنية مجلد وتهيئتها كجزء من هذه العملية. نفذ الخطوات التالية من أجل:
- إنشاء وتهيئة المجلدات والملفات المستخدمة من قبل المرجع المصدق الجذر الخاص بك
- إنشاء ملف تكوين يستخدمه OpenSSL لتكوين المرجع المصدق الجذر والشهادات التي تم إنشاؤها باستخدام المرجع المصدق الجذر الخاص بك
- طلب وإنشاء شهادة CA موقعة ذاتيا تعمل كشهادة المرجع المصدق الجذر الخاص بك
ابدأ نافذة Git Bash وشغل الأمر التالي، واستبدل
{base_dir}
بالدليل المطلوب لإنشاء الشهادات في هذا البرنامج التعليمي.cd {base_dir}
في نافذة Git Bash، قم بتشغيل الأوامر التالية، واحدا تلو الآخر. تنشئ هذه الخطوة بنية الدليل التالية وملفات الدعم للمرجع المصدق الجذر.
الدليل أو الملف الوصف rootca الدليل الجذر للمرجع المصدق الجذر. rootca/certs الدليل الذي يتم فيه إنشاء شهادات المرجع المصدق للمرجع المصدق الجذر وتخزينها. rootca/db الدليل الذي يتم فيه تخزين قاعدة بيانات الشهادة وملفات الدعم للمرجع المصدق الجذر. rootca/db/index قاعدة بيانات الشهادة ل CA الجذر. touch
ينشئ الأمر ملفا بدون أي محتوى، لاستخدامه لاحقا. قاعدة بيانات الشهادة هي ملف نصي عادي يديره OpenSSL يحتوي على معلومات حول الشهادات الصادرة. لمزيد من المعلومات حول قاعدة بيانات الشهادة ، راجع الصفحة اليدوية openssl-ca .rootca/db/serial ملف يستخدم لتخزين الرقم التسلسلي للشهادة التالية التي سيتم إنشاؤها للمرجع المصدق الجذر. openssl
يقوم الأمر بإنشاء رقم عشوائي 16 بايت بتنسيق سداسي عشري، ثم يخزنه في هذا الملف لتهيئة الملف لإنشاء شهادة المرجع المصدق الجذر.rootca/db/crlnumber ملف يستخدم لتخزين الأرقام التسلسلية للشهادات التي تم إبطالها الصادرة عن المرجع المصدق الجذر. يقوم echo
الأمر بتوجيه نموذج رقم تسلسلي، 1001، إلى الملف.rootca/private يتم تخزين الدليل الذي يتم فيه تخزين الملفات الخاصة للمرجع المصدق الجذر، بما في ذلك المفتاح الخاص.
يجب تأمين الملفات الموجودة في هذا الدليل وحمايتها.mkdir rootca cd rootca mkdir certs db private chmod 700 private touch db/index openssl rand -hex 16 > db/serial echo 1001 > db/crlnumber
إنشاء ملف نصي باسم
rootca.conf
فيrootca
الدليل الذي تم إنشاؤه في الخطوة السابقة. افتح هذا الملف في محرر نص، ثم انسخ إعدادات تكوين OpenSSL التالية واحفظها في هذا الملف.يوفر الملف OpenSSL بالقيم المطلوبة لتكوين المرجع المصدق الجذري للاختبار. على سبيل المثال، يقوم الملف بتكوين مرجع مصدق جذر يسمى rootca باستخدام الدلائل والملفات التي تم إنشاؤها في الخطوات السابقة. يوفر الملف أيضا إعدادات التكوين ل:
- نهج المرجع المصدق المستخدم من قبل المرجع المصدق الجذر لحقول الاسم المميز للشهادة (DN)
- طلبات الشهادة التي تم إنشاؤها بواسطة المرجع المصدق الجذر
- ملحقات X.509 المطبقة على شهادات المرجع المصدق الجذر وشهادات المرجع المصدق التابعة وشهادات العميل الصادرة عن المرجع المصدق الجذر
إشعار
home
يتم تعيين السمةca_default
في القسم إلى../rootca
لأنه يتم استخدام ملف التكوين هذا أيضا عند إنشاء الشهادة لمرجع مصدق ثانوي. يسمح المسار النسبي المحدد ل OpenSSL بالانتقال من مجلد المرجع المصدق التابع إلى مجلد المرجع المصدق الجذر أثناء هذه العملية.لمزيد من المعلومات حول بناء جملة ملفات تكوين OpenSSL، راجع صفحة التكوين اليدوية في وثائق OpenSSL.
[default] name = rootca domain_suffix = exampledomain.com aia_url = http://$name.$domain_suffix/$name.crt crl_url = http://$name.$domain_suffix/$name.crl default_ca = ca_default name_opt = utf8,esc_ctrl,multiline,lname,align [ca_dn] commonName = "rootca_common_name" [ca_default] home = ../rootca database = $home/db/index serial = $home/db/serial crlnumber = $home/db/crlnumber certificate = $home/$name.crt private_key = $home/private/$name.key RANDFILE = $home/private/random new_certs_dir = $home/certs unique_subject = no copy_extensions = none default_days = 3650 default_crl_days = 365 default_md = sha256 policy = policy_c_o_match [policy_c_o_match] countryName = optional stateOrProvinceName = optional organizationName = optional organizationalUnitName = optional commonName = supplied emailAddress = optional [req] default_bits = 2048 encrypt_key = yes default_md = sha256 utf8 = yes string_mask = utf8only prompt = no distinguished_name = ca_dn req_extensions = ca_ext [ca_ext] basicConstraints = critical,CA:true keyUsage = critical,keyCertSign,cRLSign subjectKeyIdentifier = hash [sub_ca_ext] authorityKeyIdentifier = keyid:always basicConstraints = critical,CA:true,pathlen:0 extendedKeyUsage = clientAuth,serverAuth keyUsage = critical,keyCertSign,cRLSign subjectKeyIdentifier = hash [client_ext] authorityKeyIdentifier = keyid:always basicConstraints = critical,CA:false extendedKeyUsage = clientAuth keyUsage = critical,digitalSignature subjectKeyIdentifier = hash
في نافذة Git Bash، قم بتشغيل الأمر التالي لإنشاء طلب توقيع شهادة (CSR) في
rootca
الدليل ومفتاح خاص فيrootca/private
الدليل. لمزيد من المعلومات حول الأمر OpenSSLreq
، راجع الصفحة اليدوية openssl-req في وثائق OpenSSL.إشعار
على الرغم من أن المرجع المصدق الجذر هذا لأغراض الاختبار ولن يتم كشفه كجزء من البنية الأساسية للمفتاح العام (PKI)، نوصي بعدم نسخ المفتاح الخاص أو مشاركته.
winpty openssl req -new -config rootca.conf -out rootca.csr -keyout private/rootca.key
تتم مطالبتك بإدخال عبارة مرور PEM، كما هو موضح في المثال التالي، لملف المفتاح الخاص. أدخل عبارة مرور وأكدها لإنشاء مفتاحك الخاص وCSR.
Enter PEM pass phrase: Verifying - Enter PEM pass phrase: -----
تأكد من أن ملف CSR،
rootca.csr
، موجود فيrootca
الدليل وملف المفتاح الخاص،rootca.key
، موجود في الدليل الفرعي قبل المتابعةprivate
.في نافذة Git Bash، قم بتشغيل الأمر التالي لإنشاء شهادة المرجع المصدق الجذر الموقعة ذاتيا. يطبق
ca_ext
الأمر ملحقات ملف التكوين على الشهادة. تشير هذه الملحقات إلى أن الشهادة مخصصة لمرجع مصدق جذري ويمكن استخدامها لتوقيع الشهادات وقوائم إبطال الشهادات (CRLs). لمزيد من المعلومات حول الأمر OpenSSLca
، راجع الصفحة اليدوية openssl-ca في وثائق OpenSSL.winpty openssl ca -selfsign -config rootca.conf -in rootca.csr -out rootca.crt -extensions ca_ext
تتم مطالبتك بتوفير عبارة مرور PEM، كما هو موضح في المثال التالي، لملف المفتاح الخاص. بعد توفير عبارة المرور، ينشئ OpenSSL شهادة، ثم يطالبك بتوقيع الشهادة وتثبيتها لمرجع مصدق الجذر الخاص بك. حدد y لكلا المطالبتين لإنشاء الشهادة الموقعة ذاتيا لمرجع مصدق الجذر الخاص بك.
Using configuration from rootca.conf Enter pass phrase for ../rootca/private/rootca.key: Check that the request matches the signature Signature ok Certificate Details: {Details omitted from output for clarity} Certificate is to be certified until Mar 24 18:51:41 2033 GMT (3650 days) Sign the certificate? [y/n]: 1 out of 1 certificate requests certified, commit? [y/n] Write out database with 1 new entries Data Base Updated
بعد أن يقوم OpenSSL بتحديث قاعدة بيانات الشهادة، تأكد من وجود كل من ملف الشهادة في
rootca.crt
rootca
الدليل وملف شهادة PEM (.pem) للشهادة فيrootca/certs
الدليل. يطابق اسم ملف .pem الرقم التسلسلي لشهادة المرجع المصدق الجذر.
إنشاء مرجع مصدق تابع
بعد إنشاء المرجع المصدق الجذر الداخلي الخاص بك، يجب عليك إنشاء مرجع مصدق ثانوي لاستخدامه كمرجع مصدق وسيط لتوقيع شهادات العميل لأجهزتك. من الناحية النظرية، لا تحتاج إلى إنشاء مرجع مصدق ثانوي؛ يمكنك تحميل شهادة المرجع المصدق الجذر إلى مركز IoT الخاص بك وتوقيع شهادات العميل مباشرة من المرجع المصدق الجذر الخاص بك. ومع ذلك، فإن استخدام المرجع المصدق الثانوي كمرجع مصدق وسيط لتوقيع شهادات العميل بشكل وثيق يحاكي بيئة الإنتاج الموصى بها، حيث يتم الاحتفاظ ب CA الجذر دون اتصال. يمكنك أيضا استخدام مرجع مصدق ثانوي لتوقيع مرجع مصدق ثانوي آخر، والذي بدوره يمكنه توقيع مرجع مصدق تابع آخر، وهكذا. يؤدي استخدام المراجع المصدقة التابعة لتوقيع المراجع المصدقة التابعة الأخرى إلى إنشاء تسلسل هرمي للمرجعيات المصدقة الوسيطة كجزء من سلسلة شهادات الثقة. في بيئة الإنتاج، تسمح سلسلة الشهادات بالثقة بتفويض الثقة نحو أجهزة التوقيع. لمزيد من المعلومات حول توقيع الأجهزة في سلسلة شهادات ثقة، راجع مصادقة الأجهزة باستخدام شهادات المرجع المصدق X.509.
على غرار المرجع المصدق الجذر الخاص بك، يتم تخزين الملفات المستخدمة لإنشاء المرجع المصدق التابع وصيانته في بنية مجلد وتهيئتها كجزء من هذه العملية. نفذ الخطوات التالية من أجل:
- إنشاء وتهيئة المجلدات والملفات المستخدمة من قبل المرجع المصدق التابع
- إنشاء ملف تكوين يستخدمه OpenSSL لتكوين المرجع المصدق التابع والشهادات التي تم إنشاؤها باستخدام المرجع المصدق التابع
- طلب وإنشاء شهادة CA موقعة من المرجع المصدق الجذر الخاص بك والتي تعمل كشهادة المرجع المصدق التابعة
ارجع إلى الدليل الأساسي الذي يحتوي على
rootca
الدليل. على سبيل المثال، يوجد كل من المرجع المصدق الجذر و CA التابع في نفس الدليل الأساسي.cd ..
في نافذة Git Bash، قم بتشغيل الأوامر التالية، واحدا تلو الآخر.
تنشئ هذه الخطوة بنية دليل وملفات دعم للمرجع المصدق التابع مشابهة لبنية المجلد والملفات التي تم إنشاؤها للمرجع المصدق الجذر في القسم السابق.
mkdir subca cd subca mkdir certs db private chmod 700 private touch db/index openssl rand -hex 16 > db/serial echo 1001 > db/crlnumber
إنشاء ملف نصي باسم
subca.conf
فيsubca
الدليل الذي تم إنشاؤه في الخطوة السابقة. افتح هذا الملف في محرر نص، ثم انسخ إعدادات تكوين OpenSSL التالية واحفظها في هذا الملف.كما هو الحال مع ملف التكوين الخاص باختبار المرجع المصدق الجذر، يوفر هذا الملف OpenSSL بالقيم اللازمة لتكوين المرجع المصدق الثانوي للاختبار. يمكنك إنشاء العديد من المراجع المصدقة التابعة، لإدارة سيناريوهات الاختبار أو البيئات.
لمزيد من المعلومات حول بناء جملة ملفات تكوين OpenSSL، راجع الصفحة اليدوية الرئيسية للتكوين في وثائق OpenSSL.
[default] name = subca domain_suffix = exampledomain.com aia_url = http://$name.$domain_suffix/$name.crt crl_url = http://$name.$domain_suffix/$name.crl default_ca = ca_default name_opt = utf8,esc_ctrl,multiline,lname,align [ca_dn] commonName = "subca_common_name" [ca_default] home = ../subca database = $home/db/index serial = $home/db/serial crlnumber = $home/db/crlnumber certificate = $home/$name.crt private_key = $home/private/$name.key RANDFILE = $home/private/random new_certs_dir = $home/certs unique_subject = no copy_extensions = copy default_days = 365 default_crl_days = 90 default_md = sha256 policy = policy_c_o_match [policy_c_o_match] countryName = optional stateOrProvinceName = optional organizationName = optional organizationalUnitName = optional commonName = supplied emailAddress = optional [req] default_bits = 2048 encrypt_key = yes default_md = sha256 utf8 = yes string_mask = utf8only prompt = no distinguished_name = ca_dn req_extensions = ca_ext [ca_ext] basicConstraints = critical,CA:true keyUsage = critical,keyCertSign,cRLSign subjectKeyIdentifier = hash [sub_ca_ext] authorityKeyIdentifier = keyid:always basicConstraints = critical,CA:true,pathlen:0 extendedKeyUsage = clientAuth,serverAuth keyUsage = critical,keyCertSign,cRLSign subjectKeyIdentifier = hash [client_ext] authorityKeyIdentifier = keyid:always basicConstraints = critical,CA:false extendedKeyUsage = clientAuth keyUsage = critical,digitalSignature subjectKeyIdentifier = hash
في نافذة Git Bash، قم بتشغيل الأوامر التالية لإنشاء مفتاح خاص وطلب توقيع شهادة (CSR) في دليل CA التابع.
تتم مطالبتك بإدخال عبارة مرور PEM، كما هو موضح في المثال التالي، لملف المفتاح الخاص. أدخل عبارة مرور وتحقق منها لإنشاء مفتاحك الخاص وCSR.
Enter PEM pass phrase: Verifying - Enter PEM pass phrase: -----
تأكد من وجود ملف
subca.csr
CSR في دليل CA التابع وملفsubca.key
المفتاح الخاص موجود في الدليل الفرعي قبل المتابعةprivate
.في نافذة Git Bash، قم بتشغيل الأمر التالي لإنشاء شهادة CA تابعة في دليل CA التابع. يطبق
sub_ca_ext
الأمر ملحقات ملف التكوين على الشهادة. تشير هذه الملحقات إلى أن الشهادة مخصصة لمرجع مصدق ثانوي ويمكن استخدامها أيضا لتوقيع الشهادات وقوائم إبطال الشهادات (CRLs). على عكس شهادة المرجع المصدق الجذر، هذه الشهادة غير موقعة ذاتيا. بدلا من ذلك، يتم توقيع شهادة المرجع المصدق التابعة مع شهادة المرجع المصدق الجذر، وإنشاء سلسلة شهادات مشابهة لما قد تستخدمه للبنية الأساسية للمفتاح العام (PKI). ثم يتم استخدام شهادة المرجع المصدق التابعة لتوقيع شهادات العميل لاختبار أجهزتك.winpty openssl ca -config ../rootca/rootca.conf -in subca.csr -out subca.crt -extensions sub_ca_ext
تتم مطالبتك بإدخال عبارة المرور، كما هو موضح في المثال التالي، لملف المفتاح الخاص ب CA الجذر الخاص بك. بعد إدخال عبارة المرور، يقوم OpenSSL بإنشاء وعرض تفاصيل الشهادة، ثم يطالبك بتوقيع الشهادة وتثبيتها لمرجع مصدق ثانوي. حدد
y
لكلا المطالبتين لإنشاء الشهادة لمرجع مصدق ثانوي.Using configuration from rootca.conf Enter pass phrase for ../rootca/private/rootca.key: Check that the request matches the signature Signature ok Certificate Details: {Details omitted from output for clarity} Certificate is to be certified until Mar 24 18:55:00 2024 GMT (365 days) Sign the certificate? [y/n]: 1 out of 1 certificate requests certified, commit? [y/n] Write out database with 1 new entries Data Base Updated
بعد قيام OpenSSL بتحديث قاعدة بيانات الشهادة، تأكد من وجود ملف
subca.crt
الشهادة في دليل المرجع المصدق التابع وأن ملف شهادة PEM (.pem) للشهادة موجود فيrootca/certs
الدليل. يطابق اسم ملف .pem الرقم التسلسلي لشهادة المرجع المصدق التابعة.
تسجيل شهادة المرجع المصدق التابعة إلى مركز IoT الخاص بك
قم بتسجيل شهادة المرجع المصدق التابعة إلى مركز IoT الخاص بك، والذي يستخدمها لمصادقة أجهزتك أثناء التسجيل والاتصال. تصف الخطوات التالية كيفية تحميل شهادة المرجع المصدق التابعة والتحقق منها تلقائيا إلى مركز IoT.
في مدخل Microsoft Azure، انتقل إلى مركز IoT وحدد Certificates من قائمة الموارد، ضمن Security settings.
حدد Add من شريط الأوامر لإضافة شهادة CA جديدة.
أدخل اسم عرض لشهادة المرجع المصدق التابعة في حقل اسم الشهادة.
حدد ملف شهادة PEM (.pem) لشهادة المرجع المصدق التابعة من
rootca/certs
الدليل لإضافته في حقل ملف Certificate .pem أو .cer.حدد المربع بجوار تعيين حالة الشهادة إلى تم التحقق منه عند التحميل.
حدد حفظ.
يتم عرض شهادة المرجع المصدق التابعة التي تم تحميلها مع تعيين حالتها على Verified في علامة التبويب Certificates في جزء العمل.
إنشاء شهادة عميل لجهاز
بعد إنشاء المرجع المصدق التابع، يمكنك إنشاء شهادات العميل لأجهزتك. تستخدم الملفات والمجلدات التي تم إنشاؤها للمرجع المصدق التابع لتخزين CSR والمفتاح الخاص وملفات الشهادات لشهادات العميل.
يجب أن تحتوي شهادة العميل على قيمة حقل الاسم المشترك للموضوع (CN) المعين إلى قيمة معرف الجهاز المستخدم عند تسجيل الجهاز المقابل في Azure IoT Hub.
نفذ الخطوات التالية من أجل:
- إنشاء مفتاح خاص وطلب توقيع شهادة (CSR) لشهادة عميل
- إنشاء شهادة عميل موقعة من قبل شهادة المرجع المصدق التابعة
في نافذة Git Bash، تأكد من أنك لا تزال في
subca
الدليل.في نافذة Git Bash، قم بتشغيل الأوامر التالية واحدا تلو الآخر. استبدل العنصر النائب باسم لجهاز IoT الخاص بك، على سبيل المثال
testdevice
. تنشئ هذه الخطوة المفتاح الخاص وCSR لشهادة العميل.تنشئ هذه الخطوة مفتاحا خاصا ل RSA 2048 بت لشهادة العميل، ثم تنشئ طلب توقيع شهادة (CSR) باستخدام هذا المفتاح الخاص.
عند المطالبة، قم بتوفير تفاصيل الشهادة كما هو موضح في المثال التالي.
المطالبة الوحيدة التي يجب عليك توفير قيمة معينة لها هي الاسم العام، والذي يجب أن يكون نفس اسم الجهاز المقدم في الخطوة السابقة. يمكنك تخطي أو توفير قيم عشوائية لبقية المطالبات.
بعد توفير تفاصيل الشهادة، يقوم OpenSSL بإنشاء وعرض تفاصيل الشهادة، ثم يطالبك بتوقيع الشهادة وتثبيتها لمرجع مصدق ثانوي. حدد y لكلا المطالبتين لإنشاء شهادة المرجع المصدق التابع.
----- Country Name (2 letter code) [XX]:. State or Province Name (full name) []:. Locality Name (eg, city) [Default City]:. Organization Name (eg, company) [Default Company Ltd]:. Organizational Unit Name (eg, section) []: Common Name (eg, your name or your server hostname) []:'<DEVICE_NAME>' Email Address []: Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []:
تأكد من وجود ملف CSR في دليل CA التابع وملف المفتاح الخاص موجود في الدليل الفرعي قبل المتابعة
private
. لمزيد من المعلومات حول تنسيقات CSR وملفات المفاتيح الخاصة، راجع شهادات X.509.في نافذة Git Bash، قم بتشغيل الأمر التالي، واستبدل العناصر النائبة لاسم الجهاز بنفس الاسم الذي استخدمته في الخطوات السابقة.
تنشئ هذه الخطوة شهادة عميل في دليل المرجع المصدق التابع. يطبق
client_ext
الأمر ملحقات ملف التكوين على الشهادة. تشير هذه الملحقات إلى أن الشهادة لشهادة عميل، والتي لا يمكن استخدامها كشهادة CA. يتم توقيع شهادة العميل مع شهادة المرجع المصدق التابعة.winpty openssl ca -config subca.conf -in <DEVICE_NAME>.csr -out <DEVICE_NAME>.crt -extensions client_ext
تتم مطالبتك بإدخال عبارة المرور، كما هو موضح في المثال التالي، لملف المفتاح الخاص للمرجع المصدق التابع. بعد إدخال عبارة المرور، يقوم OpenSSL بإنشاء وعرض تفاصيل الشهادة، ثم يطالبك بتوقيع شهادة العميل وتثبيتها لجهازك. حدد y لكلا المطالبتين لإنشاء شهادة العميل.
Using configuration from subca.conf Enter pass phrase for ../subca/private/subca.key: Check that the request matches the signature Signature ok Certificate Details: {Details omitted from output for clarity} Certificate is to be certified until Mar 24 18:51:41 2024 GMT (365 days) Sign the certificate? [y/n]: 1 out of 1 certificate requests certified, commit? [y/n] Write out database with 1 new entries Data Base Updated
بعد أن يقوم OpenSSL بتحديث قاعدة بيانات الشهادة، تأكد من وجود ملف الشهادة لشهادة العميل في دليل CA التابع وأن ملف شهادة PEM (.pem) لشهادة العميل موجود في الدليل الفرعي لشهادات دليل CA التابع. يتطابق اسم ملف .pem مع الرقم التسلسلي لشهادة العميل.
الخطوات التالية
يمكنك تسجيل جهازك مع مركز IoT لاختبار شهادة العميل التي قمت بإنشائها لهذا الجهاز. لمزيد من المعلومات حول تسجيل جهاز، راجع إنشاء هويات الجهاز وإدارتها.
إذا كان لديك العديد من الأجهزة ذات الصلة لاختبارها، يمكنك استخدام خدمة توفير جهاز Azure IoT Hub لتوفير أجهزة متعددة في مجموعة تسجيل. لمزيد من المعلومات حول استخدام مجموعات التسجيل في خدمة توفير الأجهزة، راجع البرنامج التعليمي: توفير أجهزة X.509 متعددة باستخدام مجموعات التسجيل.