You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/iot-edge/how-to-auto-provision-x509-certs.md
+14-8Lines changed: 14 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ author: kgremban
5
5
manager: philmea
6
6
ms.author: kgremban
7
7
ms.reviewer: kevindaw
8
-
ms.date: 03/06/2020
8
+
ms.date: 04/09/2020
9
9
ms.topic: conceptual
10
10
ms.service: iot-edge
11
11
services: iot-edge
@@ -40,6 +40,12 @@ Device identity certificates are only used for provisioning the IoT Edge device
40
40
41
41
After you create the device identity certificate, you should have two files: a .cer or .pem file that contains the public portion of the certificate, and a .cer or .pem file with the private key of the certificate. If you plan to use group enrollment in DPS, you also need the public portion of an intermediate or root CA certificate in the same certificate chain of trust.
42
42
43
+
You need the following files to set up automatic provisioning with X.509:
44
+
45
+
* The device identity certificate and its private key certificate. The device identity certificate is uploaded to DPS if you create an individual enrollment. The private key is passed to the IoT Edge runtime.
46
+
* A full chain certificate, which should have at least the device identity and the intermediate certificates in it. The full chain certificate is passed to the IoT Edge runtime.
47
+
* An intermediate or root CA certificate from the certificate chain of trust. This certificate is uploaded to DPS if you create a group enrollment.
48
+
43
49
### Use test certificates
44
50
45
51
If you don't have a certificate authority available to create new identity certs and want to try out this scenario, the Azure IoT Edge git repository contains scripts that you can use to generate test certificates. These certificates are designed for development testing only, and must not be used in production.
@@ -81,7 +87,7 @@ For more information about enrollments in the Device Provisioning Service, see [
81
87
82
88
***Primary Certificate .pem or .cer file**: Upload the public file from the device identity certificate. If you used the scripts to generate a test certificate, choose the following file:
***IoT Hub Device ID**: Provide an ID for your device if you'd like. You can use device IDs to target an individual device for module deployment. If you don't provide a device ID, the common name (CN) in the X.509 certificate is used.
87
93
@@ -200,7 +206,7 @@ X.509 provisioning with DPS is only supported in IoT Edge version 1.0.9 or newer
200
206
You'll need the following information when provisioning your device:
201
207
202
208
* The DPS **ID Scope** value. You can retrieve this value from the overview page of your DPS instance in the Azure portal.
203
-
* The device identity certificate file on the device.
209
+
* The device identity certificate chain file on the device.
204
210
* The device identity key file on the device.
205
211
* An optional registration ID (pulled from the common name in the device identity certificate if not supplied).
206
212
@@ -212,7 +218,7 @@ Use the following link to install the Azure IoT Edge runtime on your device, usi
212
218
213
219
When you add the X.509 certificate and key information to the config.yaml file, the paths should be provided as file URIs. For example:
214
220
215
-
* `file:///<path>/identity_certificate.pem`
221
+
* `file:///<path>/identity_certificate_chain.pem`
216
222
* `file:///<path>/identity_key.pem`
217
223
218
224
The section in the configuration file for X.509 automatic provisioning looks like this:
@@ -230,7 +236,7 @@ provisioning:
230
236
identity_pk: "<REQUIRED URI TO DEVICE IDENTITY PRIVATE KEY>"
231
237
```
232
238
233
-
Replace the placeholder values for `scope_id`, `identity_cert`, `identity_pk` with the scope ID from your DPS instance, and the URIs to the cert and key file locations on your device. Provide a `registration_id` for the device if you want, or leave this line commented out to register the device with the CN name of the identity certificate.
239
+
Replace the placeholder values for `scope_id`, `identity_cert`, `identity_pk` with the scope ID from your DPS instance, and the URIs to the cert chain and key file locations on your device. Provide a `registration_id` for the device if you want, or leave this line commented out to register the device with the CN name of the identity certificate.
234
240
235
241
Always restart the security daemon after updating the config.yaml file.
Install the IoT Edge runtime on the device for which you generated the identity certificate and identity key. You'll configure the IoT Edge runtime for automatic, not manual, provisioning.
249
+
Install the IoT Edge runtime on the device for which you generated the identity certificate chain and identity key. You'll configure the IoT Edge runtime for automatic, not manual, provisioning.
244
250
245
251
For more detailed information about installing IoT Edge on Windows, including prerequisites and instructions for tasks like managing containers and updating IoT Edge, see [Install the Azure IoT Edge runtime on Windows](how-to-install-iot-edge-windows.md).
246
252
@@ -257,11 +263,11 @@ For more detailed information about installing IoT Edge on Windows, including pr
257
263
258
264
1. The **Initialize-IoTEdge** command configures the IoT Edge runtime on your machine. The command defaults to manual provisioning unless you use the `-Dps` flag to use automatic provisioning.
259
265
260
-
Replace the placeholder values for `{scope_id}`, `{identity cert path}`, and `{identity key path}` with the appropriate values from your DPS instance and the file paths on your device. If you want to specify the registration ID, include `-RegistrationId {registration_id}` as well, replacing the placeholder as appropriate.
266
+
Replace the placeholder values for `{scope_id}`, `{identity cert chain path}`, and `{identity key path}` with the appropriate values from your DPS instance and the file paths on your device. If you want to specify the registration ID, include `-RegistrationId {registration_id}` as well, replacing the placeholder as appropriate.
The name that you pass in to this command will be the device ID for the IoT Edge device in IoT Hub.
244
244
245
-
The new device identity command creates several certificate and key files, including two that you'll use when creating an individual enrollment in DPS and installing the IoT Edge runtime:
245
+
The new device identity command creates several certificate and key files, including three that you'll use when creating an individual enrollment in DPS and installing the IoT Edge runtime:
@@ -257,8 +258,9 @@ Create the IoT Edge device identity certificate and private key with the followi
257
258
258
259
The name that you pass in to this command will be the device ID for the IoT Edge device in IoT Hub.
259
260
260
-
The script creates several certificate and key files, including two that you'll use when creating an individual enrollment in DPS and installing the IoT Edge runtime:
261
+
The script creates several certificate and key files, including three that you'll use when creating an individual enrollment in DPS and installing the IoT Edge runtime:
0 commit comments