Dela via


Hantera IoT Edge certifikat

Gäller för:ja-ikonen IoT Edge 1.1

Viktigt

IoT Edge 1.1 slutdatum 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.

Anteckning

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

  • Förstå hur Azure IoT Edge använder certifikat.

  • 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 enhets-CA på enheten i flera fall, inklusive:

  • Om du inte anger egna produktionscertifikat när du installerar och etablerar IoT Edge genererar IoT Edge security manager 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.
  • Den 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.

Anteckning

Det finns ett tredje automatiskt genererat certifikat som IoT Edge security manager 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 i konfigurationsfilen påverkar inte det här certifikatet.

Anpassa livslängden för ca-certifikat för enhetscertifikat för snabbstart

När den har upphört att gälla efter det angivna antalet dagar måste IoT Edge startas om för att återskapa certifikatutfärdarcertifikatet för enheten. Certifikatet för enhetscertifikatutfärdare förnyas inte automatiskt.

  1. 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>
    

    Anteckning

    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.

  2. Ta bort innehållet i hsm mappen för att ta bort tidigare genererade certifikat.

    • /var/aziot/hsm/certs
    • /var/aziot/hsm/cert_keys
  3. Starta om IoT Edge-tjänsten.

    sudo systemctl restart iotedge
    
  4. 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

  1. 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 scenario, som IoT Edge hubbmodul, användarmoduler och 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.

    Anteckning

    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.

  2. 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.

    Tips

    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
  1. Öppna konfigurationsfilen IoT Edge säkerhetsdaemon:/etc/iotedge/config.yaml

  2. 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 saknar föregående blanksteg och att kapslade objekt är indragna med två blanksteg. Ett 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>"
    
  3. Kontrollera att användar-iotedge har läs-/skrivbehörighet för katalogen som innehåller certifikaten.

  4. 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
  5. 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 ca-certifikatet för mellanliggande 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. Kommandot iotedge 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.