Hantera IoT Edge-certifikat
Gäller för: IoT Edge 1.1
Viktigt!
IoT Edge 1.1 slutdatum för support var den 13 december 2022. I informationen om Microsoft-produktens livscykel hittar du fler uppgifter om vilken support som gäller för denna produkt, tjänst, teknik eller detta API. Mer information om hur du uppdaterar till den senaste versionen av IoT Edge finns i Uppdatera IoT Edge.
Alla IoT Edge-enheter använder certifikat för att skapa säkra anslutningar mellan körningen och de moduler som körs på enheten. IoT Edge-enheter som fungerar som gatewayer använder samma certifikat för att ansluta till sina underordnade enheter också. Mer information om funktionen för de olika certifikaten på en IoT Edge-enhet finns i Förstå hur Azure IoT Edge använder certifikat.
Kommentar
Termen rotcertifikatutfärdare som används i den här artikeln refererar till den översta utfärdarens certifikat i certifikatkedjan för din IoT-lösning. Du behöver inte använda certifikatroten för en syndikerad certifikatutfärdare eller roten för organisationens certifikatutfärdare. I många fall är det faktiskt ett mellanliggande CA-certifikat.
Förutsättningar
En IoT Edge-enhet. Om du inte har konfigurerat en IoT Edge-enhet kan du skapa en på en virtuell Azure-dator. Följ stegen i någon av snabbstartsartiklarna för att skapa en virtuell Linux-enhet eller Skapa en virtuell Windows-enhet.
Möjlighet att redigera IoT Edge-konfigurationsfilen
config.toml
efter konfigurationsmallen.Om du
config.toml
inte är baserad på mallen öppnar du mallen och använder den kommenterade vägledningen för att lägga till konfigurationsavsnitt efter mallens struktur.Om du har en ny IoT Edge-installation som inte har konfigurerats kopierar du mallen för att initiera konfigurationen. Använd inte det här kommandot om du har en befintlig konfiguration. Filen skrivs över.
sudo cp /etc/aziot/config.toml.edge.template /etc/aziot/config.toml
Enhets-CA
Alla IoT Edge-enheter använder certifikat för att skapa säkra anslutningar mellan körningen och de moduler som körs på enheten. IoT Edge-enheter som fungerar som gatewayer använder samma certifikat för att ansluta till sina underordnade enheter också. Mer information om funktionen för de olika certifikaten på en IoT Edge-enhet finns i Förstå hur Azure IoT Edge använder certifikat.
IoT Edge genererar automatiskt enhetscertifikat för enheten i flera fall, inklusive:
- Om du inte anger egna produktionscertifikat när du installerar och etablerar IoT Edge genererar IoT Edge-säkerhetshanteraren automatiskt ett certifikat för enhetscertifikatutfärdare. Det här självsignerade certifikatet är endast avsett för utvecklings- och testscenarier, inte produktion. Det här certifikatet upphör att gälla efter 90 dagar.
- IoT Edge-säkerhetshanteraren genererar också ett ca-certifikat för arbetsbelastning som signerats av enhetens CA-certifikat.
För dessa två automatiskt genererade certifikat har du möjlighet att ange en flagga i konfigurationsfilen för att konfigurera antalet dagar för certifikatens livslängd.
Kommentar
Det finns ett tredje automatiskt genererat certifikat som IoT Edge-säkerhetshanteraren skapar, IoT Edge-hubbservercertifikatet. Det här certifikatet har alltid en livslängd på 30 dagar, men förnyas automatiskt innan det upphör att gälla. Det automatiskt genererade ca-livslängdsvärdet som anges i konfigurationsfilen påverkar inte det här certifikatet.
Anpassa livslängden för certifikatutfärdare för enhetscertifikatutfärdare
Vid förfallodatum efter det angivna antalet dagar måste IoT Edge startas om för att återskapa ca-certifikatet för enheten. Certifikatet för enhetscertifikatutfärdare förnyas inte automatiskt.
Om du vill konfigurera certifikatets giltighetstid till något annat än standardvärdet 90 dagar lägger du till värdet i dagar i certifikatavsnittet i konfigurationsfilen .
certificates: device_ca_cert: "<ADD URI TO DEVICE CA CERTIFICATE HERE>" device_ca_pk: "<ADD URI TO DEVICE CA PRIVATE KEY HERE>" trusted_ca_certs: "<ADD URI TO TRUSTED CA CERTIFICATES HERE>" auto_generated_ca_lifetime_days: <value>
Kommentar
För närvarande förhindrar en begränsning i libiothsm användningen av certifikat som upphör att gälla den 1 januari 2038 eller senare.
Ta bort innehållet i
hsm
mappen för att ta bort tidigare genererade certifikat./var/aziot/hsm/certs
/var/aziot/hsm/cert_keys
Starta om IoT Edge-tjänsten.
sudo systemctl restart iotedge
Bekräfta livslängdsinställningen.
sudo iotedge check --verbose
Kontrollera utdata från produktionsberedskapen : certifikatkontroll , som visar antalet dagar tills de automatiskt genererade ca-certifikaten för enheten upphör att gälla.
Installera enhets-CA för produktion
När du har flyttat in i ett produktionsscenario, eller om du vill skapa en gatewayenhet, måste du ange egna certifikat.
Skapa och installera enhets-CA för produktion
Använd din egen certifikatutfärdare för att skapa följande filer:
- Rotcertifikatutfärdare
- Certifikat för enhetscertifikatutfärdare
- Privat nyckel för enhets-CA
Rotcertifikatutfärdare är inte den översta certifikatutfärdare för en organisation. Det är den översta certifikatutfärdaren för IoT Edge-scenariot, som IoT Edge-hubbmodulen, användarmodulerna och eventuella underordnade enheter använder för att upprätta förtroende mellan varandra.
Om du vill se ett exempel på dessa certifikat läser du skripten som skapar democertifikat i Hantera certifikat för testcertifikatutfärdare för exempel och självstudier.
Kommentar
För närvarande förhindrar en begränsning i libiothsm användningen av certifikat som upphör att gälla den 1 januari 2038 eller senare.
Kopiera de tre certifikat- och nyckelfilerna till din IoT Edge-enhet. Du kan använda en tjänst som Azure Key Vault eller en funktion som Secure copy protocol för att flytta certifikatfilerna. Om du genererade certifikaten på själva IoT Edge-enheten kan du hoppa över det här steget och använda sökvägen till arbetskatalogen.
Dricks
Om du använde exempelskripten för att skapa democertifikat finns de tre certifikat- och nyckelfilerna på följande sökvägar:
- Certifikat för enhetscertifikatutfärdare:
<WRKDIR>\certs\iot-edge-device-MyEdgeDeviceCA-full-chain.cert.pem
- Privat nyckel för enhets-CA:
<WRKDIR>\private\iot-edge-device-MyEdgeDeviceCA.key.pem
- Rotcertifikatutfärdarcertifikatutfärdarcertifikat:
<WRKDIR>\certs\azure-iot-test-only.root.ca.cert.pem
- Certifikat för enhetscertifikatutfärdare:
Öppna konfigurationsfilen för IoT Edge-säkerhetsdaemon:
/etc/iotedge/config.yaml
Ange certifikategenskaperna i config.yaml till fil-URI-sökvägen till certifikat- och nyckelfilerna på IoT Edge-enheten.
#
Ta bort tecknet före certifikategenskaperna för att avkommenta de fyra raderna. Kontrollera att certifikaten : raden inte har något föregående blanksteg och att kapslade objekt är indragna med två blanksteg. Till exempel:certificates: device_ca_cert: "file:///<path>/<device CA cert>" device_ca_pk: "file:///<path>/<device CA key>" trusted_ca_certs: "file:///<path>/<root CA cert>"
Kontrollera att användar-iotedge har läs-/skrivbehörighet för katalogen som innehåller certifikaten.
Om du har använt andra certifikat för IoT Edge på enheten tidigare tar du bort filerna i följande två kataloger innan du startar eller startar om IoT Edge:
/var/aziot/hsm/certs
/var/aziot/hsm/cert_keys
Starta om IoT Edge.
sudo iotedge system restart
Modulservercertifikat
Edge Daemon utfärdar modulserver- och identitetscertifikat för användning av Edge-moduler. Det är fortfarande Edge-modulernas ansvar att förnya sina identitets- och servercertifikat efter behov.
Förnyelse
Servercertifikat kan utfärdas från Edge CA-certifikatet eller via en DPS-konfigurerad certifikatutfärdare. Oavsett utfärdandemetod måste dessa certifikat förnyas av modulen.
Ändringar i 1.2 och senare
- Certifikatet för enhetscertifikatutfärdare har bytt namn till Edge CA-certifikat.
- Ca-certifikatet för arbetsbelastningen var inaktuellt. Nu genererar IoT Edge-säkerhetshanteraren IoT Edge-hubbservercertifikatet
edgeHub
direkt från Edge CA-certifikatet, utan mellanliggande ca-certifikat för arbetsbelastning mellan dem. - Standardkonfigurationsfilen har ett nytt namn och en ny plats, från
/etc/iotedge/config.yaml
till/etc/aziot/config.toml
som standard. Kommandotiotedge config import
kan användas för att migrera konfigurationsinformation från den gamla platsen och syntaxen till den nya.
Nästa steg
Att installera certifikat på en IoT Edge-enhet är ett nödvändigt steg innan du distribuerar lösningen i produktion. Läs mer om hur du förbereder distributionen av din IoT Edge-lösning i produktion.