Certificaten op een IoT Edge apparaat beherenManage certificates on an IoT Edge device

Van toepassing op:  Ja pictogram IoT Edge 1,1 andere versies: IOT Edge 1,2Applies to: yes icon IoT Edge 1.1 Other versions: IoT Edge 1.2

Van toepassing op:  Ja pictogram IoT Edge 1,2 andere versies: IOT Edge 1,1Applies to: yes icon IoT Edge 1.2 Other versions: IoT Edge 1.1

Alle IoT Edge-apparaten gebruiken certificaten voor het maken van beveiligde verbindingen tussen de runtime en alle modules die op het apparaat worden uitgevoerd.All IoT Edge devices use certificates to create secure connections between the runtime and any modules running on the device. IoT Edge apparaten als gateways functioneren, gebruiken deze zelfde certificaten ook om verbinding te maken met hun downstream-apparaten.IoT Edge devices functioning as gateways use these same certificates to connect to their downstream devices, too.

Productiecertificaten installerenInstall production certificates

Wanneer u IoT Edge voor het eerst installeert en uw apparaat inricht, wordt het apparaat ingesteld met tijdelijke certificaten, zodat u de service kunt testen.When you first install IoT Edge and provision your device, the device is set up with temporary certificates so that you can test the service. Deze tijdelijke certificaten verlopen over 90 dagen of kunnen opnieuw worden ingesteld door de computer opnieuw op te starten.These temporary certificates expire in 90 days, or can be reset by restarting your machine. Wanneer u bent overstappen op een productie scenario of als u een gateway apparaat wilt maken, moet u uw eigen certificaten opgeven.Once you move into a production scenario, or you want to create a gateway device, you need to provide your own certificates. In dit artikel worden de stappen beschreven voor het installeren van certificaten op uw IoT Edge-apparaten.This article demonstrates the steps to install certificates on your IoT Edge devices.

Zie begrijpen hoe Azure IOT Edge certificaten gebruiktvoor meer informatie over de verschillende typen certificaten en hun rollen.To learn more about the different types of certificates and their roles, see Understand how Azure IoT Edge uses certificates.

Notitie

De term ' basis-CA ' die in dit artikel wordt gebruikt, verwijst naar het open bare certificaat van de bovenste instantie van de certificaat keten voor uw IoT-oplossing.The term "root CA" used throughout this article refers to the topmost authority public certificate of the certificate chain for your IoT solution. U hoeft niet de hoofdmap van het certificaat van een extern gepubliceerde certificerings instantie of de basis van de certificerings instantie van uw organisatie te gebruiken.You do not need to use the certificate root of a syndicated certificate authority, or the root of your organization's certificate authority. In veel gevallen is het eigenlijk een openbaar certificaat van een tussenliggend CA.In many cases, it is actually an intermediate CA public certificate.

VereistenPrerequisites

  • Een IoT Edge-apparaat.An IoT Edge device.

    Als u geen IoT Edge apparaat hebt ingesteld, kunt u er een maken in een virtuele Azure-machine.If you don't have an IoT Edge device set up, you can create one in an Azure virtual machine. Volg de stappen in een van de Quick Start-artikelen voor het maken van een virtueel Linux-apparaat of het maken van een virtueel Windows-apparaat.Follow the steps in one of the quickstart articles to Create a virtual Linux device or Create a virtual Windows device.

  • Beschikken over een basis certificaat voor een certificerings instantie (CA), ofwel zelf ondertekend of gekocht bij een vertrouwde commerciële certificerings instantie, zoals Baltimore, VeriSign, DigiCert of GlobalSign.Have a root certificate authority (CA) certificate, either self-signed or purchased from a trusted commercial certificate authority like Baltimore, Verisign, DigiCert, or GlobalSign.

    Als u nog geen basis certificerings instantie hebt, maar IoT Edge functies wilt uitproberen waarvoor productie certificaten zijn vereist (zoals de gateway scenario's), kunt u demo certificaten maken om IOT Edge-apparaatfuncties te testen.If you don't have a root certificate authority yet, but want to try out IoT Edge features that require production certificates (like gateway scenarios) you can Create demo certificates to test IoT Edge device features.

Productie certificaten makenCreate production certificates

U moet uw eigen certificerings instantie gebruiken om de volgende bestanden te maken:You should use your own certificate authority to create the following files:

  • Basis-CARoot CA
  • CA-certificaat van apparaatDevice CA certificate
  • Persoonlijke sleutel van de apparaat-CADevice CA private key

In dit artikel wordt verwezen naar de basis-CA , maar niet de hoogste certificerings instantie voor een organisatie.In this article, what we refer to as the root CA is not the topmost certificate authority for an organization. Het is de bovenste certificerings instantie voor het IoT Edge scenario, die door de IoT Edge hub-module, gebruikers modules en downstream-apparaten wordt gebruikt om een vertrouwens relatie tussen elkaar te leggen.It's the topmost certificate authority for the IoT Edge scenario, which the IoT Edge hub module, user modules, and any downstream devices use to establish trust between each other.

Notitie

Op dit moment wordt een beperking in libiothsm voor komen dat certificaten worden gebruikt die op of na 1 januari 2038 verlopen.Currently, a limitation in libiothsm prevents the use of certificates that expire on or after January 1, 2038.

Als u een voor beeld van deze certificaten wilt zien, bekijkt u de scripts die demo certificaten maken bij het beheren van test-CA-certificaten voor voor beelden en zelf studies.To see an example of these certificates, review the scripts that create demo certificates in Managing test CA certificates for samples and tutorials.

Certificaten op het apparaat installerenInstall certificates on the device

Installeer uw certificaat keten op het IoT Edge apparaat en configureer de IoT Edge-runtime om te verwijzen naar de nieuwe certificaten.Install your certificate chain on the IoT Edge device and configure the IoT Edge runtime to reference the new certificates.

Kopieer de drie certificaat-en sleutel bestanden naar uw IoT Edge-apparaat.Copy the three certificate and key files onto your IoT Edge device. U kunt een service zoals Azure Key Vault of een functie zoals Secure Copy Protocol gebruiken om de certificaat bestanden te verplaatsen.You can use a service like Azure Key Vault or a function like Secure copy protocol to move the certificate files. Als u de certificaten op het IoT Edge apparaat zelf hebt gegenereerd, kunt u deze stap overs Laan en het pad naar de werkmap gebruiken.If you generated the certificates on the IoT Edge device itself, you can skip this step and use the path to the working directory.

Als u IoT Edge voor Linux op Windows gebruikt, moet u de SSH-sleutel in het Azure IoT Edge-bestand gebruiken id_rsa om bestands overdrachten tussen het besturings systeem van de host en de virtuele Linux-machine te verifiëren.If you are using IoT Edge for Linux on Windows, you need to use the SSH key located in the Azure IoT Edge id_rsa file to authenticate file transfers between the host OS and the Linux virtual machine. U kunt een geverifieerd SCP uitvoeren met de volgende opdracht:You can do an authenticated SCP using the following command:

C:\WINDOWS\System32\OpenSSH\scp.exe -i 'C:\Program Files\Azure IoT Edge\id_rsa' <PATH_TO_SOURCE_FILE> iotedge-user@<VM_IP>:<PATH_TO_FILE_DESTINATION>

Notitie

Het IP-adres van de virtuele Linux-machine kan worden opgevraagd via de Get-EflowVmAddr opdracht.The Linux virtual machine's IP address can be queried via the Get-EflowVmAddr command.

Als u de voorbeeld scripts hebt gebruikt om demo certificaten te maken, kopieert u de volgende bestanden naar uw IoT-Edge-apparaat:If you used the sample scripts to Create demo certificates, copy the following files onto your IoT-Edge device:

  • CA-certificaat van apparaat: <WRKDIR>\certs\iot-edge-device-MyEdgeDeviceCA-full-chain.cert.pemDevice CA certificate: <WRKDIR>\certs\iot-edge-device-MyEdgeDeviceCA-full-chain.cert.pem
  • Persoonlijke sleutel van de apparaat-CA: <WRKDIR>\private\iot-edge-device-MyEdgeDeviceCA.key.pemDevice CA private key: <WRKDIR>\private\iot-edge-device-MyEdgeDeviceCA.key.pem
  • Basis-CA: <WRKDIR>\certs\azure-iot-test-only.root.ca.cert.pemRoot CA: <WRKDIR>\certs\azure-iot-test-only.root.ca.cert.pem
  1. Open het IoT Edge Security daemon config-bestand.Open the IoT Edge security daemon config file.

    • Linux en IoT Edge voor Linux op Windows: /etc/iotedge/config.yamlLinux and IoT Edge for Linux on Windows: /etc/iotedge/config.yaml

    • Windows met Windows-containers: C:\ProgramData\iotedge\config.yamlWindows using Windows containers: C:\ProgramData\iotedge\config.yaml

  2. Stel de certificaat eigenschappen in config. yaml in op het pad naar het bestand-URI naar het certificaat en de sleutel bestanden op het IOT edge apparaat.Set the certificate properties in config.yaml to the file URI path to the certificate and key files on the IoT Edge device. Verwijder het # teken vóór de eigenschappen van het certificaat om de vier regels op te heffen.Remove the # character before the certificate properties to uncomment the four lines. Zorg ervoor dat de regel certificaten: geen voor gaande witruimte heeft en dat geneste items met twee spaties worden inge sprongen.Make sure the certificates: line has no preceding whitespace and that nested items are indented by two spaces. Bijvoorbeeld:For example:

    • Linux en IoT Edge voor Linux op Windows:Linux and IoT Edge for Linux on Windows:

      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>"
      
    • Windows met Windows-containers:Windows using Windows containers:

      certificates:
         device_ca_cert: "file:///C:/<path>/<device CA cert>"
         device_ca_pk: "file:///C:/<path>/<device CA key>"
         trusted_ca_certs: "file:///C:/<path>/<root CA cert>"
      
  3. Controleer op Linux-apparaten of de gebruiker iotedge Lees machtigingen heeft voor de directory die de certificaten bevat.On Linux devices, make sure that the user iotedge has read permissions for the directory holding the certificates.

  4. Als u eerder andere certificaten voor IoT Edge op het apparaat hebt gebruikt, verwijdert u de bestanden in de volgende twee directory's voordat u IoT Edge start of opnieuw opstart:If you've used any other certificates for IoT Edge on the device before, delete the files in the following two directories before starting or restarting IoT Edge:

    • Linux en IoT Edge voor Linux op Windows: /var/lib/iotedge/hsm/certs en /var/lib/iotedge/hsm/cert_keysLinux and IoT Edge for Linux on Windows: /var/lib/iotedge/hsm/certs and /var/lib/iotedge/hsm/cert_keys

    • Windows met Windows-containers: C:\ProgramData\iotedge\hsm\certs en C:\ProgramData\iotedge\hsm\cert_keysWindows using Windows containers: C:\ProgramData\iotedge\hsm\certs and C:\ProgramData\iotedge\hsm\cert_keys

  1. Open het IoT Edge Security daemon configuratie bestand: /etc/aziot/config.tomlOpen the IoT Edge security daemon config file: /etc/aziot/config.toml

  2. Zoek de trust_bundle_cert para meter aan het begin van het bestand.Find the trust_bundle_cert parameter at the beginning of the file. Verwijder de opmerking over deze regel en geef de bestands-URI op het basis-CA-certificaat op uw apparaat op.Uncomment this line, and provide the file URI to the root CA certificate on your device.

    trust_bundle_cert = "file:///<path>/<root CA cert>"
    
  3. Zoek de [edge_ca] sectie in het bestand config. toml.Find the [edge_ca] section in the config.toml file. Verwijder de opmerkingen in de regels in deze sectie en geef de bestands-URI-paden op voor het certificaat en de sleutel bestanden op het IoT Edge-apparaat.Uncomment the lines in this section and provide the file URI paths for the certificate and key files on the IoT Edge device.

    [edge_ca]
    cert = "file:///<path>/<device CA cert>"
    pk = "file:///<path>/<device CA key>"
    
  4. Zorg ervoor dat de gebruiker iotedge Lees machtigingen heeft voor de directory die de certificaten bevat.Make sure that the user iotedge has read permissions for the directory holding the certificates.

  5. Als u eerder andere certificaten voor IoT Edge op het apparaat hebt gebruikt, verwijdert u de bestanden in de volgende twee directory's voordat u IoT Edge start of opnieuw opstart:If you've used any other certificates for IoT Edge on the device before, delete the files in the following two directories before starting or restarting IoT Edge:

    • /var/lib/aziot/certd/certs
    • /var/lib/aziot/keyd/keys

Levens duur van certificaten aanpassenCustomize certificate lifetime

IoT Edge automatisch certificaten op het apparaat genereren in verschillende gevallen, waaronder:IoT Edge automatically generates certificates on the device in several cases, including:

  • Als u geen eigen productie certificaten opgeeft wanneer u IoT Edge installeert en inricht, wordt door de IoT Edge Security Manager automatisch een CA-certificaat voor een apparaat gegenereerd.If you don't provide your own production certificates when you install and provision IoT Edge, the IoT Edge security manager automatically generates a device CA certificate. Dit zelfondertekende certificaat is alleen bedoeld voor ontwikkelings-en test scenario's, niet voor productie.This self-signed certificate is only meant for development and testing scenarios, not production. Dit certificaat verloopt na 90 dagen.This certificate expires after 90 days.
  • De IoT Edge Security Manager genereert ook een CA-certificaat dat is ondertekend door het CA-certificaat van de apparaatThe IoT Edge security manager also generates a workload CA certificate signed by the device CA certificate

Zie begrijpen hoe Azure IOT Edge certificaten gebruiktvoor meer informatie over de functie van de verschillende certificaten op een IOT edge apparaat.For more information about the function of the different certificates on an IoT Edge device, see Understand how Azure IoT Edge uses certificates.

Voor deze twee automatisch gegenereerde certificaten hebt u de optie om de auto_generated_ca_lifetime_days vlag in het configuratie bestand in te stellen om het aantal dagen voor de levens duur van de certificaten te configureren.For these two automatically generated certificates, you have the option of setting the auto_generated_ca_lifetime_days flag in the config file to configure the number of days for the lifetime of the certificates.

Notitie

Er is een derde automatisch gegenereerd certificaat dat IoT Edge Security Manager maakt, het IOT Edge hub-server certificaat.There is a third auto-generated certificate that the IoT Edge security manager creates, the IoT Edge hub server certificate. Dit certificaat heeft altijd een levens duur van 90 dagen, maar wordt automatisch verlengd voordat het verloopt.This certificate always has a 90 day lifetime, but is automatically renewed before expiring. De waarde van de auto_generated_ca_lifetime_days heeft geen invloed op dit certificaat.The auto_generated_ca_lifetime_days value doesn't affect this certificate.

Na het verlopen van het opgegeven aantal dagen moet IoT Edge opnieuw worden gestart om het CA-certificaat van het apparaat opnieuw te genereren.Upon expiry after the specified number of days, IoT Edge has to be restarted to regenerate the device CA certificate. Het CA-certificaat van het apparaat wordt niet automatisch vernieuwd.The device CA certificate won't be renewed automatically.

  1. Als u het verlopen van het certificaat wilt configureren naar een andere waarde dan de standaard 90 dagen, voegt u het gedeelte dagen toe aan de sectie certificaten van het configuratie bestand.To configure the certificate expiration to something other than the default 90 days, add the value in days to the certificates section of the config file.

    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>
    

    Notitie

    Op dit moment wordt een beperking in libiothsm voor komen dat certificaten worden gebruikt die op of na 1 januari 2038 verlopen.Currently, a limitation in libiothsm prevents the use of certificates that expire on or after January 1, 2038.

  2. Verwijder de inhoud van de hsm map om eerder gegenereerde certificaten te verwijderen.Delete the contents of the hsm folder to remove any previously generated certificates.

    • Linux en IoT Edge voor Linux op Windows: /var/lib/iotedge/hsm/certs en /var/lib/iotedge/hsm/cert_keysLinux and IoT Edge for Linux on Windows: /var/lib/iotedge/hsm/certs and /var/lib/iotedge/hsm/cert_keys

    • Windows met Windows-containers: C:\ProgramData\iotedge\hsm\certs en C:\ProgramData\iotedge\hsm\cert_keysWindows using Windows containers: C:\ProgramData\iotedge\hsm\certs and C:\ProgramData\iotedge\hsm\cert_keys

  3. Start de IoT Edge-service opnieuw.Restart the IoT Edge service.

    • Linux en IoT Edge voor Linux op Windows:Linux and IoT Edge for Linux on Windows:
    sudo systemctl restart iotedge
    
    • Windows met Windows-containers:Windows using Windows containers:
    Restart-Service iotedge
    
  4. Bevestig de instelling voor de levens duur.Confirm the lifetime setting.

    • Linux en IoT Edge voor Linux op Windows:Linux and IoT Edge for Linux on Windows:
    sudo iotedge check --verbose
    
    • Windows met Windows-containers:Windows using Windows containers:
    iotedge check --verbose
    

    Controleer de uitvoer van de gereedheid voor productie: certificaten controle, waarin het aantal dagen wordt vermeld waarna de automatisch GEGENEREERDe CA-certificaten verlopen.Check the output of the production readiness: certificates check, which lists the number of days until the automatically generated device CA certificates expire.

Volgende stappenNext steps

Het installeren van certificaten op een IoT Edge apparaat is een nood zakelijke stap voordat u uw oplossing in de productie omgeving implementeert.Installing certificates on an IoT Edge device is a necessary step before deploying your solution in production. Meer informatie over het voorbereiden van de implementatie van uw IOT EDGE oplossing in productie.Learn more about how to Prepare to deploy your IoT Edge solution in production.