I'm looking for documentation how the IoT Edge handles certificates rolling. I have found this document How to roll X.509 device certificates explaining how certificate rolling is performed for IoT Devices. A last step explains that the device needs to re-provisioned trough catching "unauthorized" errors or using a direct method. I can see how this works for an IoT Devices but how is it handled by the IoT Edge. Does he check automatically when you just replace the certificates in the path without having to restart the IoT Edge?
⚠Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.
@Sdelausnay Thank you for your feedback! We will review and update as appropriate.
Hello @Sdelausnay let me start by sharing the following documentation that is part of iot edge docs:
From first doc:
From second doc:
From third doc:
From fourth doc:
Therefore, you will need to reboot security daemon each time you update config.yaml. If you replace the certificates on the path directly you should not need to reboot IoT Edge.
For renewing the identity_cert you should follow the same process as an IoT Device described on the doc you opened this issue at.
For renewing the device_ca_cert you can't do it today using DPS, it will be up to the modules or leaf devices to add the new device_ca_cert to the trusted certificate root.
PS: For better understanding the configs on config.yaml see here. It helps understand better what is a device_ca_cert and identity_cert.
Hope it helps.
Thanks!
Hi @asergaz,
Thanks for the very clear and extensive response.
In the mean time, I have also been looking a bit further into it and you are confirming some of my findings. Just wanted to summarize here to see if I got every:
Thanks already for the help!
Kr
You are welcome, thank you!
1) I believe you mean "Baltimore Cybertrust Root" certificate will expire in 2025? That certificate is on your device's Trusted Root Certification Authority or if using the c-sdk is placed here and yes you need to update it in order to trust the IoTHub. IoTEdge new releases will take care of that hopefully, you just need to keep your device up-to-date with latest version of IoTEdge.
2) Exactly, please think of certificate expiration as a moment to validate that you are still connecting to IoTEdge and not something standing in the middle...
3) Not sure what you mean "to update everything" though as I mentioned, you cannot use DPS to provision leaf devices or modules. If you believe that's a good to have feature please add it here: https://feedback.azure.com/forums/907045-azure-iot-edge
Was a pleasure to help you :)!
We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.
Hi @asergaz,
Sorry again to ask a followup question, I was busy with some other stuff but now the request ended up back on my desk. We have a solutions which uses IoT Edge at a lot of devices which are located on remote places. So for the first two certificates we were looking for best practices to keep everything working:
Has nobody else had the same issues/question we are asking ourselves?
Thanks again for your help. Really keeping us busy this issue.
Kr,
Steven
Most helpful comment
Hi @asergaz,
Sorry again to ask a followup question, I was busy with some other stuff but now the request ended up back on my desk. We have a solutions which uses IoT Edge at a lot of devices which are located on remote places. So for the first two certificates we were looking for best practices to keep everything working:
Has nobody else had the same issues/question we are asking ourselves?
Thanks again for your help. Really keeping us busy this issue.
Kr,
Steven