Changes

no edit summary
Line 1: Line 1:  +
 
<b>Azure IoT Hub</b> is an open and flexible cloud platform that supports open-source SDKs and multiple protocols.
 
<b>Azure IoT Hub</b> is an open and flexible cloud platform that supports open-source SDKs and multiple protocols.
   Line 110: Line 111:  
Upon executing this command, you will see its output. If the connection is successful, you will see the following output:
 
Upon executing this command, you will see its output. If the connection is successful, you will see the following output:
 
[[File:Azure RutOSconf 4.png|border|class=tlt-border]]
 
[[File:Azure RutOSconf 4.png|border|class=tlt-border]]
 +
 +
If you are able to see that the connection status is succesfully and authorized it means that connection is established using SAS key connection type. Now, lets move foward with configuration of Device Provisioning Service (DPS) connection type.
 +
 +
===Device Provisioning Service (DPS) configuration===
 +
One of the primary features of DPS is its capability to dynamically manage multiple device identities. This service manages the device identity creation process using mechanisms called attestations. There are two such mechanisms:
 +
<ul>
 +
<li> 1. X.509 </li>
 +
<li> 2. Symmetric keys </li>
 +
</ul>
 +
====X.509 mechanism====
 +
The first mechanism utilizes X.509 certificates. Each DPS service includes one or more services known as enrollment groups, which handle this task. Each enrollment group is configured to function with a specific IoT Hub, considering there may be multiple IoT Hubs. At the DPS, the root CA certificate needs to be registered. Additionally, each enrollment group should have one or more intermediate CAs that are signed by the root CA. Each RUT device must have a unique certificate signed by an intermediate CA. This certificate contains additional information, such as the subject ID field, which will serve as the device identity name on the IoT Hub. Now, let's delve into an actual example of configuring such a service.
 +
 +
<ul>
 +
<div> 1. The initial step is to generate certificates. You can refer to the Microsoft guide to generate the required certificates successfully. The Microsoft guide can be found here: https://learn.microsoft.com/en-us/azure/iot-dps/tutorial-custom-hsm-enrollment-group-x509?pivots=programming-language-ansi-c#create-a-root-ca-certificate 
 +
The required certificates and keys:
 +
<li> Root CA certificate </li>
 +
<li> Intermediate CA certificate </li>
 +
<li> Devices certificates </li>
 +
 +
Please ensure to carefully follow the Microsoft guide to create certificates, making sure not to miss any steps as they are all crucial.
 +
 +
Following the Microsoft guide, after creating the Root CA certificate, you will notice that it is named "Azure IoT Hub CA Cert Test Only".
 +
[[File:Azure RutOSconf 5.png|border|class=tlt-border]]
 +
After creating the root CA certificate, an intermediate CA certificate must be generated. Upon inspecting this certificate, you should notice that it is issued by the "Azure IoT Hub CA Cert Test Only", as seen previously.
 +
[[File:Azure RutOSconf 6.png|border|class=tlt-border]]
 +
After successfully creating the intermediate CA certificate, proceed with creating the device certificate and signing it using the intermediate authority. It's crucial to note that the subject field will be the name of the newly registered identity on the IoT Hub page. If you are following the provided Microsoft guide, you can observe "device-01" name, remember it as it will be used in later configurations steps.
 +
[[File:Azure RutOSconf 7.png|border|class=tlt-border]]
 +
 +
Finally, we append the root CA, intermediate CA, and device certificates into one certificate chain. If you are following the guide, the "device-01-full-chain.cert.pem" file will be created. Later, we will upload this file to the RUT device WebUI page.
 +
</div>
 +
<div>
 +
2. After succesfully generating certificates, head back to the Azure portal page and navigate to your Azure Iot Hub Device Provisioning Service (DPS) page. There, proceed to the certificate page and upload the root CA file.
 +
[[File:Azure RutOSconf 8.png|border|class=tlt-border]]
 +
</div>
 +
 +
</ul>
    
==Checking if Data reaches Azure IoT Hub==
 
==Checking if Data reaches Azure IoT Hub==

Navigation menu