Kurz: Vytvoření a nahrání certifikátů pro testování
Certifikáty X.509 můžete použít k ověření zařízení ve službě IoT Hub. V produkčních prostředích doporučujeme zakoupit certifikát certifikační autority X.509 od dodavatele profesionálních certifikačních služeb. Certifikáty v rámci organizace pak můžete vydávat z interní certifikační autority (CA) spravované svým držitelem zřetězený s zakoupeným certifikátem certifikační autority jako součást komplexní strategie infrastruktury veřejných klíčů (PKI). Další informace o získání certifikátu certifikační autority X.509 od dodavatele profesionálních certifikačních služeb naleznete v části Získání certifikátu certifikační autority X.509 pro ověření zařízení pomocí certifikátů certifikační autority X.509.
Vytvoření vlastní privátní certifikační autority, která používá interní kořenovou certifikační autoritu jako kotvu důvěryhodnosti, je však vhodná pro testovací prostředí. Privátní certifikační autorita spravovaná samostatně s alespoň jednou podřízenou certifikační autoritou zřetězeným s interní kořenovou certifikační autoritou s klientskými certifikáty pro vaše zařízení podepsaná podřízenými certifikačními autoritami umožňuje simulovat doporučené produkční prostředí.
Důležité
Nedoporučujeme používat certifikáty podepsané svým držitelem pro produkční prostředí. Tento kurz je prezentován pouze pro demonstrační účely.
Následující kurz používá OpenSSL a kuchařku OpenSSL k popisu, jak provádět následující úlohy:
- Vytvoření interní kořenové certifikační autority (CA) a certifikátu kořenové certifikační autority
- Vytvoření interního certifikátu podřízené certifikační autority a podřízené certifikační autority podepsaného certifikátem interní kořenové certifikační autority
- Nahrání certifikátu podřízené certifikační autority do centra IoT pro účely testování
- Vytvoření klientských certifikátů pro zařízení IoT, která chcete testovat pomocí centra IoT, použijte podřízenou certifikační autoritu.
Poznámka:
Microsoft poskytuje skripty PowerShellu a Bash, které vám pomůžou pochopit, jak vytvořit vlastní certifikáty X.509 a ověřit je ve službě IoT Hub. Skripty jsou součástí sady AZURE IoT Hub Device SDK pro jazyk C. Skripty jsou k dispozici pouze pro demonstrační účely. Certifikáty vytvořené pomocí nich nesmí být použity pro produkční prostředí. Certifikáty obsahují pevně zakódovaná hesla ("1234") a vyprší po 30 dnech. Pro vytváření certifikátů a správu životnosti v produkčním prostředí musíte použít vlastní osvědčené postupy. Další informace najdete v tématu Správa certifikátů certifikační autority pro ukázky a kurzy v úložišti GitHub pro sadu Sdk pro zařízení služby Azure IoT Hub pro jazyk C.
Požadavky
Předplatné Azure. Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
Centrum IoT ve vašem předplatném Azure Pokud centrum ještě nemáte, můžete postupovat podle kroků v tématu Vytvoření centra IoT.
Nejnovější verze Gitu Ujistěte se, že je Git přidaný do proměnných prostředí, které jsou přístupné pro příkazové okno. Nejnovější verzi nástrojů pro instalaci, včetně Git Bashu, aplikace příkazového řádku, kterou můžete použít k interakci s místním úložištěm Git, najdete v klientských nástrojích
git
Gitu společnosti Software Freedom Conservancy.Instalace OpenSSL Instalace Gitu ve Windows zahrnuje instalaci OpenSSL. K OpenSSL se dostanete z příkazového řádku Git Bash. Pokud chcete ověřit, že je OpenSSL nainstalovaný, otevřete příkazový řádek Git Bash a zadejte
openssl version
.Poznámka:
Pokud neznáte OpenSSL a už ho máte na počítači s Windows nainstalovaný, doporučujeme použít OpenSSL z příkazového řádku Git Bash. Případně si můžete stáhnout zdrojový kód a sestavit OpenSSL. Další informace najdete na stránce Stažené soubory OpenSSL. Nebo si můžete stáhnout openSSL předdefinovaný od jiného výrobce. Další informace najdete na wikiwebu OpenSSL. Společnost Microsoft neposkytuje žádné záruky týkající se platnosti balíčků stažených od třetích stran. Pokud se rozhodnete sestavit nebo stáhnout OpenSSL, ujistěte se, že binární soubor OpenSSL je přístupný ve vaší cestě a že
OPENSSL_CNF
proměnná prostředí je nastavená na cestu k souboru openssl.cnf .
Vytvoření kořenové certifikační autority
Nejprve musíte vytvořit interní kořenovou certifikační autoritu (CA) a kořenový certifikát certifikační autority podepsaný svým držitelem, aby sloužil jako kotva důvěryhodnosti, ze které můžete vytvořit další certifikáty pro testování. Soubory používané k vytvoření a údržbě vaší interní kořenové certifikační autority se ukládají ve struktuře složek a inicializují se jako součást tohoto procesu. Proveďte tyto kroky:
- Vytvoření a inicializace složek a souborů používaných kořenovou certifikační autoritou
- Vytvoření konfiguračního souboru, který používá OpenSSL ke konfiguraci kořenové certifikační autority a certifikátů vytvořených pomocí kořenové certifikační autority
- Vyžádání a vytvoření certifikátu certifikační autority podepsaného svým držitelem, který slouží jako certifikát kořenové certifikační autority
Spusťte okno Git Bash a spusťte následující příkaz a nahraďte
{base_dir}
požadovaným adresářem, ve kterém chcete vytvořit certifikáty v tomto kurzu.cd {base_dir}
V okně Git Bash spusťte následující příkazy po jednom. Tento krok vytvoří následující adresářovou strukturu a podporuje soubory kořenové certifikační autority.
Adresář nebo soubor Popis rootca Kořenový adresář kořenové certifikační autority. rootca/certs Adresář, ve kterém jsou vytvořeny a uloženy certifikáty certifikační autority pro kořenovou certifikační autoritu. rootca/db Adresář, ve kterém jsou uloženy databáze certifikátů a podpůrné soubory kořenové certifikační autority. rootca,db/index Databáze certifikátů kořenové certifikační autority. Příkaz touch
vytvoří soubor bez jakéhokoli obsahu pro pozdější použití. Databáze certifikátů je soubor ve formátu prostého textu spravovaný aplikací OpenSSL, který obsahuje informace o vydaných certifikátech. Další informace o databázi certifikátů najdete na stránce s příručkou openssl-ca .rootca,db/serial Soubor použitý k uložení sériového čísla dalšího certifikátu, který se má vytvořit pro kořenovou certifikační autoritu. Příkaz openssl
vytvoří náhodné číslo o velikosti 16 bajtů v šestnáctkovém formátu a pak ho uloží do tohoto souboru, aby se soubor inicializoval pro vytvoření kořenového certifikátu certifikační autority.rootca/db/crlnumber Soubor používaný k ukládání sériových čísel pro odvolané certifikáty vydané kořenovou certifikační autoritou. Příkaz echo
předá do souboru vzorové sériové číslo 1001.rootca/private Adresář, ve kterém jsou uložené soukromé soubory kořenové certifikační autority, včetně privátního klíče.
Soubory v tomto adresáři musí být zabezpečené a chráněné.mkdir rootca cd rootca mkdir certs db private chmod 700 private touch db/index openssl rand -hex 16 > db/serial echo 1001 > db/crlnumber
Vytvořte textový soubor s názvem
rootca.conf
vrootca
adresáři, který byl vytvořen v předchozím kroku. Otevřete tento soubor v textovém editoru a zkopírujte a uložte do tohoto souboru následující nastavení konfigurace OpenSSL.Soubor poskytuje OpenSSL s hodnotami potřebnými ke konfiguraci testovací kořenové certifikační autority. V tomto příkladu soubor nakonfiguruje kořenovou certifikační autoritu s názvem rootca pomocí adresářů a souborů vytvořených v předchozích krocích. Soubor také poskytuje nastavení konfigurace pro:
- Zásady podmíněného přístupu používané kořenovou certifikační autoritou pro pole Rozlišující název certifikátu (DN)
- Žádosti o certifikáty vytvořené kořenovou certifikační autoritou
- Rozšíření X.509 použitá pro certifikáty kořenové certifikační autority, podřízené certifikáty certifikační autority a klientské certifikáty vydané kořenovou certifikační autoritou
Poznámka:
Atribut
home
vca_default
části je nastavený tak../rootca
, že tento konfigurační soubor se používá také při vytváření certifikátu pro podřízenou certifikační autoritu. Zadaná relativní cesta umožňuje aplikaci OpenSSL přejít ze složky podřízené certifikační autority do kořenové složky certifikační autority během tohoto procesu.Další informace o syntaxi konfiguračních souborů OpenSSL najdete na stránce s příručkou konfigurace v dokumentaci k 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
V okně Git Bash spusťte následující příkaz, který vygeneruje žádost o podepsání certifikátu (CSR) v
rootca
adresáři a privátní klíč vrootca/private
adresáři. Další informace o příkazu OpenSSLreq
najdete na stránce příručky openssl-req v dokumentaci k OpenSSL.Poznámka:
I když je tato kořenová certifikační autorita určená pro účely testování a nebude přístupná jako součást infrastruktury veřejných klíčů (PKI), doporučujeme nekopírovat ani sdílet privátní klíč.
winpty openssl req -new -config rootca.conf -out rootca.csr -keyout private/rootca.key
Zobrazí se výzva k zadání hesla PEM, jak je znázorněno v následujícím příkladu souboru privátního klíče. Zadejte a potvrďte heslo pro vygenerování privátního klíče a CSR.
Enter PEM pass phrase: Verifying - Enter PEM pass phrase: -----
Než budete pokračovat,
rootca.key
potvrďte,rootca.csr
že soubor CSR, je vrootca
adresáři a v souboru privátníhoprivate
klíče, který se nachází v podadresáři.V okně Git Bash spusťte následující příkaz, který vytvoří kořenový certifikát certifikační autority podepsaný svým držitelem. Příkaz použije přípony konfiguračního
ca_ext
souboru na certifikát. Tato rozšíření označují, že certifikát je pro kořenovou certifikační autoritu a dá se použít k podepisování certifikátů a seznamů odvolaných certifikátů (CRL). Další informace o příkazu OpenSSLca
najdete na stránce příručky openssl-ca v dokumentaci k OpenSSL.winpty openssl ca -selfsign -config rootca.conf -in rootca.csr -out rootca.crt -extensions ca_ext
Zobrazí se výzva k zadání hesla PEM, jak je znázorněno v následujícím příkladu souboru privátního klíče. Po zadání hesla vygeneruje OpenSSL certifikát a pak vás vyzve k podepsání a potvrzení certifikátu pro kořenovou certifikační autoritu. Zadejte y pro obě výzvy k vygenerování certifikátu podepsaného svým držitelem pro kořenovou certifikační autoritu.
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
Jakmile OpenSSL aktualizuje databázi certifikátů, ověřte,
rootca.crt
že v adresáři existujerootca
soubor certifikátu , a soubor certifikátu PEM (.pem) pro certifikát je vrootca/certs
adresáři. Název souboru .pem odpovídá sériovému číslu kořenového certifikátu certifikační autority.
Vytvoření podřízené certifikační autority
Po vytvoření interní kořenové certifikační autority byste měli vytvořit podřízenou certifikační autoritu, která se použije jako zprostředkující certifikační autorita , se kterou chcete podepsat klientské certifikáty pro vaše zařízení. Teoreticky nemusíte vytvářet podřízenou certifikační autoritu; Kořenový certifikát certifikační autority můžete nahrát do centra IoT a podepsat klientské certifikáty přímo z kořenové certifikační autority. Použití podřízené certifikační autority jako zprostředkující certifikační autority k podepisování klientských certifikátů přesněji simuluje doporučené produkční prostředí, ve kterém je kořenová certifikační autorita udržována offline. Podřízenou certifikační autoritu můžete také použít k podepsání jiné podřízené certifikační autority, která pak může podepsat jinou podřízenou certifikační autoritu atd. Použití podřízených certifikačních autorit k podepsání jiných podřízených certifikačních autorit vytvoří hierarchii zprostředkujících certifikačních autorit jako součást řetězu certifikátů důvěryhodnosti. V produkčním prostředí umožňuje řetěz certifikátů důvěryhodnosti delegování důvěryhodnosti na podpisová zařízení. Další informace o přihlašování zařízení do řetězu certifikátů důvěryhodnosti najdete v tématu Ověřování zařízení pomocí certifikátů certifikační autority X.509.
Podobně jako u kořenové certifikační autority se soubory používané k vytvoření a údržbě podřízené certifikační autority ukládají ve struktuře složek a inicializují se jako součást tohoto procesu. Proveďte tyto kroky:
- Vytvoření a inicializace složek a souborů používaných podřízenou certifikační autoritou
- Vytvoření konfiguračního souboru používaného aplikací OpenSSL ke konfiguraci podřízené certifikační autority a certifikátů vytvořených s podřízenou certifikační autoritou
- Vyžádání a vytvoření certifikátu certifikační autority podepsaného kořenovou certifikační autoritou, která slouží jako certifikát podřízené certifikační autority
Vraťte se do základního adresáře, který tento adresář obsahuje
rootca
. V tomto příkladu se kořenová a podřízená certifikační autorita nacházejí ve stejném základním adresáři.cd ..
V okně Git Bash spusťte následující příkazy po jednom.
Tento krok vytvoří adresářovou strukturu a podpůrné soubory podřízené certifikační autority podobné struktuře složek a souborům vytvořeným pro kořenovou certifikační autoritu v předchozí části.
mkdir subca cd subca mkdir certs db private chmod 700 private touch db/index openssl rand -hex 16 > db/serial echo 1001 > db/crlnumber
Vytvořte textový soubor s názvem
subca.conf
vsubca
adresáři, který byl vytvořen v předchozím kroku. Otevřete tento soubor v textovém editoru a zkopírujte a uložte do tohoto souboru následující nastavení konfigurace OpenSSL.Stejně jako u konfiguračního souboru pro vaši kořenovou certifikační autoritu testu poskytuje tento soubor hodnoty OpenSSL s hodnotami potřebnými ke konfiguraci testovací podřízené certifikační autority. Pro správu testovacích scénářů nebo prostředí můžete vytvořit několik podřízených certifikačních autorit.
Další informace o syntaxi konfiguračních souborů OpenSSL najdete na stránce hlavní předlohy konfigurace v dokumentaci k 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
V okně Git Bash spusťte následující příkazy, které vygenerují privátní klíč a žádost o podepsání certifikátu (CSR) v adresáři podřízené certifikační autority.
Zobrazí se výzva k zadání hesla PEM, jak je znázorněno v následujícím příkladu souboru privátního klíče. Zadejte a ověřte předávací frázi pro vygenerování privátního klíče a CSR.
Enter PEM pass phrase: Verifying - Enter PEM pass phrase: -----
Než budete pokračovat, ověřte, že soubor
subca.csr
CSR existuje v adresáři podřízené certifikační autority a souborsubca.key
privátníhoprivate
klíče je v podadresáři.V okně Git Bash spusťte následující příkaz, který vytvoří certifikát podřízené certifikační autority v adresáři podřízené certifikační autority. Příkaz použije přípony konfiguračního
sub_ca_ext
souboru na certifikát. Tato rozšíření označují, že certifikát je určený pro podřízenou certifikační autoritu a dá se použít také k podepisování certifikátů a seznamů odvolaných certifikátů (CRL). Na rozdíl od kořenového certifikátu certifikační autority tento certifikát není podepsaný svým držitelem. Místo toho je certifikát podřízené certifikační autority podepsaný kořenovým certifikátem certifikační autority a vytvoří řetěz certifikátů podobný tomu, co byste použili pro infrastrukturu veřejných klíčů (PKI). Certifikát podřízené certifikační autority se pak použije k podepsání klientských certifikátů pro testování zařízení.winpty openssl ca -config ../rootca/rootca.conf -in subca.csr -out subca.crt -extensions sub_ca_ext
Zobrazí se výzva k zadání hesla, jak je znázorněno v následujícím příkladu souboru privátního klíče kořenové certifikační autority. Po zadání hesla vygeneruje OpenSSL a zobrazí podrobnosti certifikátu a pak vás vyzve k podepsání a potvrzení certifikátu pro podřízenou certifikační autoritu. Zadejte
y
obě výzvy k vygenerování certifikátu pro podřízenou certifikační autoritu.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
Jakmile OpenSSL aktualizuje databázi certifikátů, ověřte, že soubor certifikátu
subca.crt
je v adresáři podřízené certifikační autority a že soubor certifikátu PEM (.pem) pro certifikát je vrootca/certs
adresáři. Název souboru .pem odpovídá sériovému číslu certifikátu podřízené certifikační autority.
Registrace certifikátu podřízené certifikační autority do centra IoT
Zaregistrujte certifikát podřízené certifikační autority do centra IoT, který ho používá k ověření zařízení během registrace a připojení. Následující kroky popisují, jak nahrát a automaticky ověřit certifikát podřízené certifikační autority do centra IoT.
Na webu Azure Portal přejděte do centra IoT a v nabídce prostředků vyberte Certifikáty v části Nastavení zabezpečení.
Vyberte Přidat z panelu příkazů a přidejte nový certifikát certifikační autority.
Do pole Název certifikátu zadejte zobrazovaný název certifikátu podřízené certifikační autority.
V adresáři vyberte soubor certifikátu PEM (.pem) certifikátu podřízené certifikační autority
rootca/certs
, který chcete přidat do pole Soubor certifikátu .pem nebo .cer .Zaškrtněte políčko vedle položky Nastavit stav certifikátu tak, aby se ověřil při nahrání.
Zvolte Uložit.
Nahraný certifikát podřízené certifikační autority se zobrazí s jeho stavem nastaveným na Ověřeno na kartě Certifikáty v pracovním podokně.
Vytvoření klientského certifikátu pro zařízení
Po vytvoření podřízené certifikační autority můžete pro svá zařízení vytvořit klientské certifikáty. Soubory a složky vytvořené pro podřízenou certifikační autoritu se používají k ukládání souborů CSR, privátního klíče a certifikátů pro klientské certifikáty.
Klientský certifikát musí mít hodnotu pole Běžný název subjektu (CN) nastavenou na hodnotu ID zařízení, které se používá při registraci odpovídajícího zařízení v Azure IoT Hubu.
Proveďte tyto kroky:
- Vytvoření privátního klíče a žádosti o podepsání certifikátu (CSR) pro klientský certifikát
- Vytvoření klientského certifikátu podepsaného certifikátem podřízené certifikační autority
V okně Git Bash se ujistěte, že jste stále v
subca
adresáři.V okně Git Bash spusťte následující příkazy po jednom. Zástupný symbol nahraďte názvem vašeho zařízení IoT, například
testdevice
. Tento krok vytvoří privátní klíč a CSR pro váš klientský certifikát.Tento krok vytvoří 2048bitový privátní klíč RSA pro váš klientský certifikát a potom vygeneruje žádost o podepsání certifikátu (CSR) pomocí tohoto privátního klíče.
Po zobrazení výzvy zadejte podrobnosti o certifikátu, jak je znázorněno v následujícím příkladu.
Jedinou výzvou, pro kterou musíte zadat konkrétní hodnotu, je Běžný název, což musí být stejný název zařízení, který jste zadali v předchozím kroku. Zbývající výzvy můžete přeskočit nebo zadat libovolné hodnoty.
Po zadání podrobností o certifikátu SesSL vygeneruje a zobrazí podrobnosti certifikátu a zobrazí výzvu k podepsání a potvrzení certifikátu pro podřízenou certifikační autoritu. Zadejte y pro obě výzvy k vygenerování certifikátu pro podřízenou certifikační autoritu.
----- 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 []:
Než budete pokračovat, ověřte, že soubor CSR existuje v adresáři podřízené certifikační autority a soubor privátního
private
klíče je v podadresáři. Další informace o formátech souborů CSR a privátního klíče naleznete v tématu Certifikáty X.509.V okně Git Bash spusťte následující příkaz a nahraďte zástupné symboly názvu zařízení stejným názvem, který jste použili v předchozích krocích.
Tento krok vytvoří klientský certifikát v adresáři podřízené certifikační autority. Příkaz použije přípony konfiguračního
client_ext
souboru na certifikát. Tato rozšíření označují, že certifikát je určený pro klientský certifikát, který nejde použít jako certifikát certifikační autority. Klientský certifikát je podepsaný certifikátem podřízené certifikační autority.winpty openssl ca -config subca.conf -in <DEVICE_NAME>.csr -out <DEVICE_NAME>.crt -extensions client_ext
Zobrazí se výzva k zadání hesla, jak je znázorněno v následujícím příkladu souboru privátního klíče podřízené certifikační autority. Po zadání hesla vygeneruje OpenSSL a zobrazí podrobnosti o certifikátu a zobrazí výzvu k podepsání a potvrzení klientského certifikátu pro vaše zařízení. Zadejte y pro obě výzvy k vygenerování klientského certifikátu.
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
Po aktualizaci knihovny OpenSSL databáze certifikátů ověřte, že soubor certifikátu pro klientský certifikát je v adresáři podřízené certifikační autority a že soubor certifikátu PEM (.pem) pro klientský certifikát je v podadresáři certifikátů podřízené certifikační autority . Název souboru .pem odpovídá sériovému číslu klientského certifikátu.
Další kroky
Zařízení můžete zaregistrovat ve službě IoT Hub pro testování klientského certifikátu, který jste pro toto zařízení vytvořili. Další informace o registraci zařízení najdete v tématu Vytváření a správa identit zařízení.
Pokud máte k testování více souvisejících zařízení, můžete pomocí služby Azure IoT Hub Device Provisioning zřídit více zařízení ve skupině registrací. Další informace o používání skupin registrací ve službě Device Provisioning najdete v tématu Kurz: Zřízení více zařízení X.509 pomocí skupin registrací.