Guided project - Provision IoT devices securely and at scale with IoT Hub Device Provisioning Service

Solution Architect
Azure IoT Hub
Azure IoT SDK

Create code that authenticates with Azure IoT Hub Device Provisioning Service (DPS) using X.509 certificates, generates telemetry and accesses device twin properties. Use X.509 certificates to implement group enrollments, and deprovision enrollments groups and individual devices from an enrollment group.

Learning objectives

After you complete this module, you'll be able to:

  • Generate an X.509 root CA certificate using OpenSSL within the Azure Cloud Shell, then use the root certificate to configure a group enrollment using the Device Provisioning Service (DPS)
  • Generate a device certificate and use it to provision a device to IoT hub.
  • Use code to access to the device twin properties and perform initial configuration of the device.
  • Deprovision an individual device from the enrollment group and then deprovision the entire group enrollment.


Ability to:

  • Demonstrate a general understanding of cloud-based solutions, Azure, and Azure services.
  • Describe the Azure IoT SDKs for devices and services, and how Visual Studio Code, Azure CLI, and the Azure Cloud Shell can be used to configure and develop components of an IoT solution.
  • Describe the phases of device provisioning, the concept of device enrollment and attestation, the high-level processes for device provisioning, and the tools used by developers to implement DPS tasks.
  • Use Visual Studio Code to develop, build, and run C# console applications.