Skip to content

Commit 709e150

Browse files
Merge pull request #311717 from cwatson-cat/02-11-26-dps-sdk-upd
IoT DPS - Add cert man SDK links
2 parents 82934f5 + 4527efa commit 709e150

3 files changed

Lines changed: 39 additions & 12 deletions

File tree

articles/iot-dps/libraries-sdks.md

Lines changed: 32 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,39 +3,64 @@ title: IoT Hub Device Provisioning Service libraries and SDKs
33
description: Information about the device and service libraries available for developing solutions with Device Provisioning Service (CPS).
44
author: cwatson-cat
55
ms.author: cwatson
6-
ms.date: 08/03/2022
6+
ms.date: 02/12/2026
77
ms.topic: reference
88
ms.service: azure-iot-hub
99
services: iot-dps
1010
ms.custom: mvc
1111
ms.subservice: azure-iot-hub-dps
12+
ai-usage: ai-assisted
1213
---
1314

1415
# Microsoft SDKs for IoT Hub Device Provisioning Service
1516

17+
The Microsoft SDKs for IoT Hub Device Provisioning Service (DPS) help you build device and backend applications that provision IoT devices to one or more IoT hubs. The SDKs handle the underlying transport and security protocols between your devices or backend apps and DPS, freeing you to focus on application development. By using the SDKs, you get support for future updates to DPS, including security updates. This article describes the three categories of SDKs, lists the DPS SDKs published in popular languages, and provides links to SDK references, samples, and quickstarts.
18+
1619
> [!IMPORTANT]
17-
> Certificate management in IoT Hub is in **public preview** and is supported only in the following DPS Device SDKs: Embedded C (Bare metal, Free RTOS), C, and Python. IoT Hub SDKs don't support it. For more information, see the [What is Certificate Management?](../iot-hub/iot-hub-certificate-management-overview.md).
20+
> Certificate management in IoT Hub is in **preview** and is supported only in the following DPS Device SDKs: Embedded C (Bare metal, Free RTOS), C, and Python. IoT Hub SDKs don't support it. For more information, see the [What is Certificate Management?](../iot-hub/iot-hub-certificate-management-overview.md)
1821
19-
The Azure IoT Hub Device Provisioning Service (DPS) is a helper service for IoT Hub. The DPS package provides SDKs to help you build backend and device applications that leverage DPS to provide zero-touch, just-in-time provisioning to one or more IoT hubs. The SDKs are published in a variety of popular languages and handle the underlying transport and security protocols between your devices or backend apps and DPS, freeing developers to focus on application development. Additionally, using the SDKs provides you with support for future updates to DPS, including security updates.
22+
## SDK categories
2023

21-
There are three categories of software development kits (SDKs) for working with DPS:
24+
Three categories of software development kits (SDKs) work with DPS:
2225

23-
- [DPS device SDKs](#device-sdks) provide data plane operations for devices. You use the device SDK to provision a device through DPS.
26+
- [DPS device SDKs](#device-sdks) provide data plane operations for devices. Use the device SDK to provision a device through DPS.
2427

25-
- [DPS service SDKs](#service-sdks) provide data plane operations for backend apps. You can use the service SDKs to create and manage individual enrollments and enrollment groups, and to query and manage device registration records.
28+
- [DPS service SDKs](#service-sdks) provide data plane operations for backend apps. Use the service SDKs to create and manage individual enrollments and enrollment groups, and to query and manage device registration records.
2629

27-
- [DPS management SDKs](#management-sdks) provide control plane operations for backend apps. You can use the management SDKs to create and manage DPS instances and metadata. For example, to create and manage DPS instances in your subscription, to upload and verify certificates with a DPS instance, or to create and manage authorization policies or allocation policies in a DPS instance.
30+
- [DPS management SDKs](#management-sdks) provide control plane operations for backend apps. Use the management SDKs to create and manage DPS instances and metadata. For example, use them to create and manage DPS instances in your subscription, to upload and verify certificates with a DPS instance, or to create and manage authorization policies or allocation policies in a DPS instance.
2831

2932
The DPS SDKs help to provision devices to your IoT hubs. Microsoft also provides a set of SDKs to help you build device apps and backend apps that communicate directly with Azure IoT Hub. For example, to help your provisioned devices send telemetry to your IoT hub, and, optionally, to receive messages and job, method, or twin updates from your IoT hub. To learn more, see [Azure IoT Hub SDKs](../iot-hub/iot-hub-devguide-sdks.md).
3033

3134
## Device SDKs
3235

36+
The DPS device SDKs enable your devices to register with DPS and receive their IoT hub assignment. Use the device SDKs to implement device-side provisioning with symmetric key, X.509 certificate, or TPM attestation. Platform device SDKs are available for devices that run a full operating system, and embedded device SDKs are available for resource-constrained and microcontroller-based devices.
37+
38+
### Platform device SDKs
39+
3340
[!INCLUDE [iot-dps-sdks-device](../../includes/iot-dps-sdks-device.md)]
3441

42+
### Certificate management device SDKs (preview)
43+
44+
For SDKs that support Microsoft-backed X.509 certificate management in preview, use the following instructions and samples.
45+
46+
| Platform | Instructions | Sample |
47+
| ----- | ----- | ----- |
48+
| C | [Instructions](https://github.com/Azure/azure-iot-sdk-c/tree/feature/dps-csr-preview/provisioning_client/samples/prov_dev_client_ll_x509_csr_sample) | [Sample](https://github.com/Azure/azure-iot-sdk-c/tree/feature/dps-csr-preview/provisioning_client/samples/prov_dev_client_ll_x509_csr_sample) |
49+
| Python | [Instructions](https://github.com/Azure/azure-iot-sdk-python/blob/feature/dps-csr-preview/azure-iot-device/samples/dps-cert-mgmt/dps_certificate_management.md) | [Sample](https://github.com/Azure/azure-iot-sdk-python/blob/feature/dps-csr-preview/azure-iot-device/samples/dps-cert-mgmt/provisioning_client_certificate_issuance.py) |
50+
3551
### Embedded device SDKs
3652

3753
[!INCLUDE [iot-dps-sdks-embedded](../../includes/iot-dps-sdks-embedded.md)]
3854

55+
### Certificate management embedded device SDKs (preview)
56+
57+
For embedded SDKs that support Microsoft-backed X.509 certificate management in preview, use the following instructions and samples:
58+
59+
| RTOS | SDK | Instructions | Sample |
60+
| :-- | :-- | :-- | :-- |
61+
| **FreeRTOS** | FreeRTOS Middleware | [Instructions](https://github.com/Azure-Samples/iot-middleware-freertos-samples/blob/feature/dps-csr-preview/demos/projects/PC/linux/README.md) | [Sample](https://github.com/Azure-Samples/iot-middleware-freertos-samples/tree/feature/dps-csr-preview/demos/projects/PC/linux) |
62+
| **Bare Metal** | Azure SDK for Embedded C | [Instructions](https://github.com/Azure/azure-sdk-for-c/blob/feature/dps-csr-preview/sdk/samples/iot/README.md) | [Sample](https://github.com/Azure/azure-sdk-for-c/blob/feature/dps-csr-preview/sdk/samples/iot/paho_iot_provisioning_csr_sample.c) |
63+
3964
## Service SDKs
4065

4166
[!INCLUDE [iot-dps-sdks-service](../../includes/iot-dps-sdks-service.md)]

articles/iot-hub/iot-hub-device-registry-setup.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -87,8 +87,8 @@ At this point, your IoT Hub with ADR integration and certificate management is s
8787
8888
**New**: Certificate management is supported across select [DPS Device SDKs](../iot-dps/libraries-sdks.md#device-sdks). You can now onboard devices using Microsoft-backed X.509 certificate management with the following SDK samples:
8989
90-
- Embedded C:
91-
- Bare metal: [Sample](Https://github.com/Azure/azure-sdk-for-c/blob/feature/dps-csr-preview/sdk/samples/iot/paho_iot_provisioning_csr_sample.c)
92-
- Free RTOS: [Sample](https://github.com/Azure-Samples/iot-middleware-freertos-samples/tree/feature/dps-csr-preview/demos/projects/PC/linux)
93-
- C: [Sample](https://github.com/Azure/azure-iot-sdk-c/tree/feature/dps-csr-preview/provisioning_client/samples/prov_dev_client_ll_x509_csr_sample)
94-
- Python: [Sample](https://github.com/Azure/azure-iot-sdk-python/blob/feature/dps-csr-preview/azure-iot-device/samples/dps-cert-mgmt/provisioning_client_certificate_issuance.py)
90+
- [DPS Device SDKs](../iot-dps/libraries-sdks.md#certificate-management-device-sdks-preview)
91+
- [Embedded Device SDKs](../iot-dps/libraries-sdks.md#certificate-management-embedded-device-sdks-preview)
92+
93+
94+

includes/iot-dps-sdks-device.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313

1414
The DPS device SDKs provide implementations of the [Register](/rest/api/iot-dps/device/runtime-registration/register-device) API and others that devices call to provision through DPS. The device SDKs can run on general MPU-based computing devices such as a PC, tablet, smartphone, or Raspberry Pi. The SDKs support development in C and in modern managed languages including in C#, Node.js, Python, and Java.
1515

16+
The following table lists the device SDKs available for each supported language.
17+
1618
| Platform | Package | Code repository | Samples | Quickstart | Reference |
1719
| -----|-----|-----|-----|-----|-----|
1820
| .NET|[NuGet](https://www.nuget.org/packages/Microsoft.Azure.Devices.Provisioning.Client/) |[GitHub](https://github.com/Azure/azure-iot-sdk-csharp/)|[Samples](https://github.com/Azure/azure-iot-sdk-csharp/tree/main/provisioning/device/samples)|[Quickstart](/azure/iot-dps/quick-create-simulated-device-x509?pivots=programming-language-csharp&tabs=windows)| [Reference](/dotnet/api/microsoft.azure.devices.provisioning.client) |

0 commit comments

Comments
 (0)