Skip to content

Commit f5bc0f7

Browse files
authored
Merge pull request #102855 from TimShererWithAquent/us1668386b
[Quickstart consistency] 1668386 IoT DPS 2 of 2
2 parents 7fc5ece + 8a3465e commit f5bc0f7

6 files changed

+77
-62
lines changed

articles/iot-dps/quick-enroll-device-tpm-java.md

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,20 @@ ms.devlang: java
1111
ms.custom: mvc
1212
---
1313

14-
# Quickstart: Enroll TPM device to IoT Hub Device Provisioning Service using Java service SDK
14+
# Quickstart: Enroll TPM device to IoT Hub Device Provisioning Service using Java Service SDK
1515

1616
[!INCLUDE [iot-dps-selector-quick-enroll-device-tpm](../../includes/iot-dps-selector-quick-enroll-device-tpm.md)]
1717

18+
In this quickstart, you programmatically create an individual enrollment for a simulated TPM device in the Azure IoT Hub Device Provisioning Service using the Java Service SDK with the help of a sample Java application.
1819

19-
These steps show how to programmatically create an individual enrollment for a simulated TPM device in the Azure IoT Hub Device Provisioning Service using the [Java Service SDK](https://azure.github.io/azure-iot-sdk-java/service/) with the help of a sample Java application. Although the Java Service SDK works on both Windows and Linux machines, this article uses a Windows development machine to walk through the enrollment process.
20+
## Prerequisites
2021

21-
Make sure to [set up IoT Hub Device Provisioning Service with the Azure portal](./quick-setup-auto-provision.md), as well as [simulate a TPM device](quick-create-simulated-device.md#simulatetpm) before you proceed.
22+
- Completion of [Set up the IoT Hub Device Provisioning Service with the Azure portal](./quick-setup-auto-provision.md).
23+
- Completion of [Read cryptographic keys from the TPM device](quick-create-simulated-device.md#simulatetpm).
24+
- An Azure account with an active subscription. [Create one for free](https://azure.microsoft.com/free/?ref=microsoft.com&utm_source=microsoft.com&utm_medium=docs&utm_campaign=visualstudio).
25+
- [Java SE Development Kit 8](https://aka.ms/azure-jdks). This quickstart installs the [Java Service SDK](https://azure.github.io/azure-iot-sdk-java/service/) below. It works on both Windows and Linux. This quickstart uses Windows.
26+
- [Maven 3](https://maven.apache.org/download.cgi).
27+
- [Git](https://git-scm.com/download/).
2228

2329
<a id="setupdevbox"></a>
2430

@@ -51,7 +57,7 @@ Make sure to [set up IoT Hub Device Provisioning Service with the Azure portal](
5157
5258
This section shows how to add the provisioning details of your TPM device to the sample code.
5359
54-
1. Open a command prompt. Clone the GitHub repo for device enrollment code sample using the Java Service SDK:
60+
1. Open a command prompt. Clone the GitHub repo for device enrollment code sample using the [Java Service SDK](https://azure.github.io/azure-iot-sdk-java/service/):
5561
5662
```cmd\sh
5763
git clone https://github.com/Azure/azure-iot-sdk-java.git --recursive
@@ -119,7 +125,7 @@ This section shows how to add the provisioning details of your TPM device to the
119125
mvn install -DskipTests
120126
```
121127
122-
This command downloads the Maven package [`com.microsoft.azure.sdk.iot.provisioning.service`](https://mvnrepository.com/artifact/com.microsoft.azure.sdk.iot.provisioning/provisioning-service-client) to your machine. This package includes the binaries for the Java service SDK, that the sample code needs to build.
128+
This command downloads the Maven package [`com.microsoft.azure.sdk.iot.provisioning.service`](https://www.mvnrepository.com/artifact/com.microsoft.azure.sdk.iot.provisioning/provisioning-service-client) to your machine. This package includes the binaries for the [Java Service SDK](https://azure.github.io/azure-iot-sdk-java/service/), that the sample code needs to build.
123129
124130
3. Run the sample by using these commands at the command window:
125131

articles/iot-dps/quick-enroll-device-tpm-node.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,15 @@ ms.custom: mvc
1515

1616
[!INCLUDE [iot-dps-selector-quick-enroll-device-tpm](../../includes/iot-dps-selector-quick-enroll-device-tpm.md)]
1717

18-
19-
These steps show how to programmatically create an individual enrollment for a TPM device in the Azure IoT Hub Device Provisioning Service using the [Node.js Service SDK](https://github.com/Azure/azure-iot-sdk-node) and a sample Node.js application. You can optionally enroll a simulated TPM device to the provisioning service using this individual enrollment entry. Although these steps will work on both Windows and Linux machines, we will use a Windows development machine for the purpose of this article.
18+
In this quickstart, you programmatically create an individual enrollment for a TPM device in the Azure IoT Hub Device Provisioning Service using the Node.js Service SDK and a sample Node.js application. You can optionally enroll a simulated TPM device to the provisioning service using this individual enrollment entry.
2019

2120
## Prerequisites
2221

23-
- Make sure to complete the steps in [Set up the IoT Hub Device Provisioning Service with the Azure portal](./quick-setup-auto-provision.md) before you proceed.
24-
- Make sure you have [Node.js v4.0 or above](https://nodejs.org) installed on your machine.
25-
- If you want to enroll a simulated device at the end of this quickstart, follow the steps in [Create and provision a simulated device](quick-create-simulated-device.md) up until the step where you get an endorsement key for the device. Note down the endorsement key, you will use it later in this quickstart. **Do not follow the steps to create an individual enrollment using the Azure portal.**
26-
22+
- Completion of [Set up the IoT Hub Device Provisioning Service with the Azure portal](./quick-setup-auto-provision.md).
23+
- An Azure account with an active subscription. [Create one for free](https://azure.microsoft.com/free/?ref=microsoft.com&utm_source=microsoft.com&utm_medium=docs&utm_campaign=visualstudio).
24+
- [Node.js v4.0+](https://nodejs.org). This quickstart installs the [Node.js Service SDK](https://github.com/Azure/azure-iot-sdk-node) below.
25+
- Endorsement key (optional). Follow the steps in [Create and provision a simulated device](quick-create-simulated-device.md) until you get the key. Do not create an individual enrollment using the Azure portal.
26+
2727
## Create the individual enrollment sample
2828

2929

@@ -71,7 +71,7 @@ These steps show how to programmatically create an individual enrollment for a T
7171
![Get provisioning service connection string from the portal](./media/quick-enroll-device-tpm-node/get-service-connection-string.png)
7272
7373
74-
2. You also need the endorsement key for your device. If you have followed the [Create and provision a simulated device](quick-create-simulated-device.md) quickstart to create a simulated TPM device, use the key created for that device. Otherwise, to create a sample individual enrollment, you can use the following endorsement key supplied with the SDK:
74+
2. You also need the endorsement key for your device. If you have followed the [Create and provision a simulated device](quick-create-simulated-device.md) quickstart to create a simulated TPM device, use the key created for that device. Otherwise, to create a sample individual enrollment, you can use the following endorsement key supplied with the [Node.js Service SDK](https://github.com/Azure/azure-iot-sdk-node):
7575
7676
```
7777
AToAAQALAAMAsgAgg3GXZ0SEs/gakMyNRqXXJP1S124GUgtk8qHaGzMUaaoABgCAAEMAEAgAAAAAAAEAxsj2gUScTk1UjuioeTlfGYZrrimExB+bScH75adUMRIi2UOMxG1kw4y+9RW/IVoMl4e620VxZad0ARX2gUqVjYO7KPVt3dyKhZS3dkcvfBisBhP1XH9B33VqHG9SHnbnQXdBUaCgKAfxome8UmBKfe+naTsE5fkvjb/do3/dD6l4sGBwFCnKRdln4XpM03zLpoHFao8zOwt8l/uP3qUIxmCYv9A7m69Ms+5/pCkTu/rK4mRDsfhZ0QLfbzVI6zQFOKF/rwsfBtFeWlWtcuJMKlXdD8TXWElTzgh7JS4qhFzreL0c1mI0GCj+Aws0usZh7dLIVPnlgZcBhgy1SSDQMQ==

articles/iot-dps/quick-enroll-device-tpm-python.md

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,21 +15,26 @@ ms.custom: mvc
1515

1616
[!INCLUDE [iot-dps-selector-quick-enroll-device-tpm](../../includes/iot-dps-selector-quick-enroll-device-tpm.md)]
1717

18-
These steps show how to programmatically create an individual enrollment for a TPM device in the Azure IoT Hub Device Provisioning Service, using the [V1 Python Provisioning Service SDK](https://github.com/Azure/azure-iot-sdk-python/tree/v1-deprecated/provisioning_service_client) with the help of a sample Python application. Although the Python Service SDK works on both Windows and Linux machines, this article uses a Windows development machine to walk through the enrollment process.
18+
In this quickstart, you programmatically create an individual enrollment for a TPM device in the Azure IoT Hub Device Provisioning Service, using the Python Provisioning Service SDK with the help of a sample Python application.
1919

20-
> [!IMPORTANT]
21-
> This article only applies to the deprecated V1 Python SDK. Device and service clients for the Iot Hub Device Provisioning Service are not yet available in V2. The team is currently hard at work to bring V2 to feature parity.
20+
## Prerequisites
2221

23-
Make sure to [set up IoT Hub Device Provisioning Service with the Azure portal](./quick-setup-auto-provision.md) before you proceed.
22+
- Completion of [Set up the IoT Hub Device Provisioning Service with the Azure portal](./quick-setup-auto-provision.md).
23+
- An Azure account with an active subscription. [Create one for free](https://azure.microsoft.com/free/?ref=microsoft.com&utm_source=microsoft.com&utm_medium=docs&utm_campaign=visualstudio).
24+
- [Python 2.x or 3.x](https://www.python.org/downloads/). This quickstart installs the [Python Provisioning Service SDK](https://github.com/Azure/azure-iot-sdk-python/tree/v1-deprecated/provisioning_service_client) below.
25+
- [Pip](https://pip.pypa.io/en/stable/installing/), if not included with your distribution of Python.
26+
- Endorsement key. Use the steps in [Create and provision a simulated device](quick-create-simulated-device.md) or use the endorsement key supplied with the SDK, described below.
2427

28+
> [!IMPORTANT]
29+
> This article only applies to the deprecated V1 Python SDK. Device and service clients for the Iot Hub Device Provisioning Service are not yet available in V2. The team is currently hard at work to bring V2 to feature parity.
2530
2631
<a id="prepareenvironment"></a>
2732

2833
## Prepare the environment
2934

3035
1. Download and install [Python 2.x or 3.x](https://www.python.org/downloads/). Make sure to use the 32-bit or 64-bit installation as required by your setup. When prompted during the installation, make sure to add Python to your platform-specific environment variables.
3136

32-
1. Choose one of the following options:
37+
1. For the [Python Provisioning Service SDK](https://github.com/Azure/azure-iot-sdk-python/tree/v1-deprecated/provisioning_service_client), choose one of the following options:
3338

3439
- Build and compile the **Azure IoT Python SDK**. Follow [these instructions](https://github.com/Azure/azure-iot-sdk-python/blob/v1-deprecated/doc/python-devbox-setup.md) to build the Python packages. If you are using Windows OS, then also install [Visual C++ redistributable package](https://support.microsoft.com/help/2977003/the-latest-supported-visual-c-downloads) to allow the use of native DLLs from Python.
3540

articles/iot-dps/quick-enroll-device-x509-java.md

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -15,25 +15,15 @@ ms.custom: mvc
1515

1616
[!INCLUDE [iot-dps-selector-quick-enroll-device-x509](../../includes/iot-dps-selector-quick-enroll-device-x509.md)]
1717

18-
This quickstart shows how to use Java to programmatically enroll a group of X.509 simulated devices to the Azure IoT Hub Device Provisioning Service. Devices are enrolled to a provisioning service instance by creating an [Enrollment group](concepts-service.md#enrollment-group), or an [Individual enrollment](concepts-service.md#individual-enrollment). This quickstart shows how to create both types of enrollments. The enrollments are created using the [Java Service SDK](https://azure.github.io/azure-iot-sdk-java/service/) with the help of a sample Java application.
19-
20-
This quickstart expects you have already created an IoT hub and Device Provisioning Service instance. If you have not already created these resources, complete the [Set up IoT Hub Device Provisioning Service with the Azure portal](./quick-setup-auto-provision.md) quickstart before proceeding with this article.
21-
22-
Although the Java Service SDK works on both Windows and Linux machines, this article uses a Windows development machine to walk through the enrollment process.
23-
24-
[!INCLUDE [quickstarts-free-trial-note](../../includes/quickstarts-free-trial-note.md)]
18+
In this quickstart, you use Java to programmatically enroll a group of X.509 simulated devices to the Azure IoT Hub Device Provisioning Service. Devices are enrolled to a provisioning service instance by creating an enrollment group, or an individual enrollment. This quickstart shows how to create both types of enrollments by using the Java Service SDK and a sample Java application.
2519

2620
## Prerequisites
2721

28-
* Install [Java SE Development Kit 8](https://aka.ms/azure-jdks).
29-
* Install [Maven 3](https://maven.apache.org/download.cgi). You can verify your current Maven version by running:
30-
31-
```cmd/sh
32-
mvn --version
33-
```
34-
35-
* Install [Git](https://git-scm.com/download/).
36-
22+
- Completion of [Set up the IoT Hub Device Provisioning Service with the Azure portal](./quick-setup-auto-provision.md).
23+
- An Azure account with an active subscription. [Create one for free](https://azure.microsoft.com/free/?ref=microsoft.com&utm_source=microsoft.com&utm_medium=docs&utm_campaign=visualstudio).
24+
- [Java SE Development Kit 8](https://aka.ms/azure-jdks). This quickstart installs the [Java Service SDK](https://azure.github.io/azure-iot-sdk-java/service/) below. It works on both Windows and Linux. This quickstart uses Windows.
25+
- [Maven 3](https://maven.apache.org/download.cgi).
26+
- [Git](https://git-scm.com/download/).
3727

3828
<a id="javasample"></a>
3929

@@ -46,7 +36,7 @@ This section uses a self-signed X.509 certificate, it is important to keep in mi
4636

4737
The following steps show how to add the provisioning details of your X.509 device to the sample code.
4838

49-
1. Open a command prompt. Clone the GitHub repo for device enrollment code sample using the Java Service SDK:
39+
1. Open a command prompt. Clone the GitHub repo for device enrollment code sample using the [Java Service SDK](https://azure.github.io/azure-iot-sdk-java/service/):
5040

5141
```cmd\sh
5242
git clone https://github.com/Azure/azure-iot-sdk-java.git --recursive
@@ -136,6 +126,13 @@ The following steps show how to add the provisioning details of your X.509 devic
136126
137127
## Build and run sample group enrollment
138128
129+
The Azure IoT Device Provisioning Service supports two types of enrollments:
130+
131+
- [Enrollment groups](concepts-service.md#enrollment-group): Used to enroll multiple related devices.
132+
- [Individual enrollments](concepts-service.md#individual-enrollment): Used to enroll a single device.
133+
134+
This procedure uses an enrollment group. The next section uses an individual enrollment.
135+
139136
1. Open a command window, and navigate to the folder **_azure-iot-sdk-java/provisioning/provisioning-samples/service-enrollment-group-sample_**.
140137
141138
2. Build the sample code by using this command:

articles/iot-dps/quick-enroll-device-x509-node.md

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,24 +15,21 @@ ms.custom: mvc
1515

1616
[!INCLUDE [iot-dps-selector-quick-enroll-device-x509](../../includes/iot-dps-selector-quick-enroll-device-x509.md)]
1717

18-
This quickstart shows how to use Node.js to programmatically create an [Enrollment group](concepts-service.md#enrollment-group) that uses intermediate or root CA X.509 certificates. The enrollment group is created using the [IoT SDK for Node.js](https://github.com/Azure/azure-iot-sdk-node) and a sample Node.js application. An enrollment group controls access to the provisioning service for devices that share a common signing certificate in their certificate chain. To learn more, see [Controlling device access to the provisioning service with X.509 certificates](./concepts-security.md#controlling-device-access-to-the-provisioning-service-with-x509-certificates). For more information about using X.509 certificate-based Public Key Infrastructure (PKI) with Azure IoT Hub and Device Provisioning Service, see [X.509 CA certificate security overview](https://docs.microsoft.com/azure/iot-hub/iot-hub-x509ca-overview).
19-
20-
This quickstart expects you have already created an IoT hub and Device Provisioning Service instance. If you have not already created these resources, complete the [Set up IoT Hub Device Provisioning Service with the Azure portal](./quick-setup-auto-provision.md) quickstart before proceeding with this article.
21-
22-
Although the steps in this article work on both Windows and Linux machines, this article is developed for a Windows development machine.
23-
24-
[!INCLUDE [quickstarts-free-trial-note](../../includes/quickstarts-free-trial-note.md)]
25-
18+
In this quickstart, you use Node.js to programmatically create an enrollment group that uses intermediate or root CA X.509 certificates. The enrollment group is created using the IoT SDK for Node.js and a sample Node.js application.
2619

2720
## Prerequisites
2821

29-
- Install [Node.js v4.0 or above](https://nodejs.org).
30-
- Install [Git](https://git-scm.com/download/).
31-
22+
- Completion of [Set up the IoT Hub Device Provisioning Service with the Azure portal](./quick-setup-auto-provision.md).
23+
- An Azure account with an active subscription. [Create one for free](https://azure.microsoft.com/free/?ref=microsoft.com&utm_source=microsoft.com&utm_medium=docs&utm_campaign=visualstudio).
24+
- [Node.js v4.0+](https://nodejs.org). This quickstart installs the [IoT SDK for Node.js](https://github.com/Azure/azure-iot-sdk-node) below.
25+
- [Git](https://git-scm.com/download/).
26+
- [Azure IoT C SDK](https://github.com/Azure/azure-iot-sdk-c).
3227

3328
## Prepare test certificates
3429

35-
For this quickstart, you must have a .pem or a .cer file that contains the public portion of an intermediate or root CA X.509 certificate. This certificate must be uploaded to your provisioning service, and verified by the service.
30+
For this quickstart, you must have a .pem or a .cer file that contains the public portion of an intermediate or root CA X.509 certificate. This certificate must be uploaded to your provisioning service, and verified by the service.
31+
32+
For more information about using X.509 certificate-based Public Key Infrastructure (PKI) with Azure IoT Hub and Device Provisioning Service, see [X.509 CA certificate security overview](https://docs.microsoft.com/azure/iot-hub/iot-hub-x509ca-overview).
3633

3734
The [Azure IoT C SDK](https://github.com/Azure/azure-iot-sdk-c) contains test tooling that can help you create an X.509 certificate chain, upload a root or intermediate certificate from that chain, and perform proof-of-possession with the service to verify the certificate. Certificates created with the SDK tooling are designed to use for **development testing only**. These certificates **must not be used in production**. They contain hard-coded passwords ("1234") that expire after 30 days. To learn about obtaining certificates suitable for production use, see [How to get an X.509 CA certificate](https://docs.microsoft.com/azure/iot-hub/iot-hub-x509ca-overview#how-to-get-an-x509-ca-certificate) in the Azure IoT Hub documentation.
3835

@@ -58,6 +55,12 @@ To use this test tooling to generate certificates, perform the following steps:
5855
5956
## Create the enrollment group sample
6057
58+
The Azure IoT Device Provisioning Service supports two types of enrollments:
59+
60+
- [Enrollment groups](concepts-service.md#enrollment-group): Used to enroll multiple related devices.
61+
- [Individual enrollments](concepts-service.md#individual-enrollment): Used to enroll a single device.
62+
63+
An enrollment group controls access to the provisioning service for devices that share a common signing certificate in their certificate chain. To learn more, see [Controlling device access to the provisioning service with X.509 certificates](./concepts-security.md#controlling-device-access-to-the-provisioning-service-with-x509-certificates).
6164
6265
1. From a command window in your working folder, run:
6366
@@ -120,7 +123,7 @@ To use this test tooling to generate certificates, perform the following steps:
120123
121124
![Verified certificate in the portal](./media/quick-enroll-device-x509-node/verify-certificate.png)
122125
123-
1. To create an enrollment group for your certificate, run the following command (include the quotes around the command arguments):
126+
1. To create an [enrollment group](concepts-service.md#enrollment-group) for your certificate, run the following command (include the quotes around the command arguments):
124127
125128
```cmd\sh
126129
node create_enrollment_group.js "<the connection string for your provisioning service>" "<your certificate's .pem file>"

0 commit comments

Comments
 (0)