Skip to content

Commit 6fe9fb5

Browse files
authored
Merge pull request #89443 from kgremban/sept23-iotcorecerts
IoT Core install reqs and cert installation v2
2 parents a8cc819 + a133af3 commit 6fe9fb5

File tree

4 files changed

+28
-7
lines changed

4 files changed

+28
-7
lines changed

articles/iot-edge/how-to-authenticate-downstream-device.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: How to authenticate downstream devices or leaf devices to IoT Hub,
44
author: kgremban
55
manager: philmea
66
ms.author: kgremban
7-
ms.date: 06/07/2019
7+
ms.date: 09/23/2019
88
ms.topic: conceptual
99
ms.service: iot-edge
1010
services: iot-edge
@@ -27,7 +27,7 @@ The steps in this article show manual device provisioning, not automatic provisi
2727

2828
## Prerequisites
2929

30-
Complete the steps in [Configure an IoT Edge device to act as a transparent gateway](how-to-create-transparent-gateway.md).
30+
Complete the steps in [Configure an IoT Edge device to act as a transparent gateway](how-to-create-transparent-gateway.md). If you're using X.509 authentication for your downstream device, you need to use the same certificate generating script that you set up in the transparent gateway article.
3131

3232
This article refers to the *gateway hostname* at several points. The gateway hostname is declared in the **hostname** parameter of the config.yaml file on the IoT Edge gateway device. It's used to create the certificates in this article, and is referred to in the connection string of the downstream devices. The gateway hostname needs to be resolvable to an IP Address, either using DNS or a host file entry.
3333

articles/iot-edge/how-to-connect-downstream-device.md

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: How to configure downstream or leaf devices to connect to Azure IoT
44
author: kgremban
55
manager: philmea
66
ms.author: kgremban
7-
ms.date: 06/07/2019
7+
ms.date: 09/07/2019
88
ms.topic: conceptual
99
ms.service: iot-edge
1010
services: iot-edge
@@ -29,6 +29,10 @@ This article identifies common problems with downstream device connections and g
2929

3030
In this article, the terms *gateway* and *IoT Edge gateway* refer to an IoT Edge device configured as a transparent gateway.
3131

32+
## Prerequisites
33+
34+
Have the **azure-iot-test-only.root.ca.cert.pem** certificate file that was generated in [Configure an IoT Edge device to act as a transparent gateway](how-to-create-transparent-gateway.md) available on your downstream device. Your downstream device uses this certificate to validate the identity of the gateway device.
35+
3236
## Prepare a downstream device
3337

3438
A downstream device can be any application or platform that has an identity created with the [Azure IoT Hub](https://docs.microsoft.com/azure/iot-hub) cloud service. In many cases, these applications use the [Azure IoT device SDK](../iot-hub/iot-hub-devguide-sdks.md). A downstream device could even be an application running on the IoT Edge gateway device itself. However, another IoT Edge device cannot be downstream of an IoT Edge gateway.
@@ -85,6 +89,14 @@ You should see a message that says, "Updating certificates in /etc/ssl/certs...
8589

8690
The following steps are an example of how to install a CA certificate on a Windows host. This example assumes that you're using the **azure-iot-test-only.root.ca.cert.pem** certificate from the prerequisites articles, and that you've copied the certificate into a location on the downstream device.
8791

92+
You can install certificates using PowerShell's [Import-Certificate](https://docs.microsoft.com/powershell/module/pkiclient/import-certificate?view=win10-ps) as an administrator:
93+
94+
```powershell
95+
import-certificate <file path>\azure-iot-test-only.root.ca.cert.pem -certstorelocation cert:\LocalMachine\root
96+
```
97+
98+
You can also install certificates using the **certlm** utility:
99+
88100
1. In the Start menu, search for and select **Manage computer certificates**. A utility called **certlm** opens.
89101
2. Navigate to **Certificates - Local Computer** > **Trusted Root Certification Authorities**.
90102
3. Right-click **Certificates** and select **All Tasks** > **Import**. The certificate import wizard should launch.

articles/iot-edge/how-to-create-transparent-gateway.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ There are three general steps to set up a successful transparent gateway connect
2929

3030
For a device to function as a gateway, it needs to be able to securely connect to its downstream devices. Azure IoT Edge allows you to use a public key infrastructure (PKI) to set up secure connections between devices. In this case, we’re allowing a downstream device to connect to an IoT Edge device acting as a transparent gateway. To maintain reasonable security, the downstream device should confirm the identity of the gateway device. This identity check prevents your devices from connecting to potentially malicious gateways.
3131

32-
A downstream device can be any application or platform that has an identity created with the [Azure IoT Hub](https://docs.microsoft.com/azure/iot-hub) cloud service. In many cases, these applications use the [Azure IoT device SDK](../iot-hub/iot-hub-devguide-sdks.md). For all practical purposes, a downstream device could even be an application running on the IoT Edge gateway device itself.
32+
A downstream device in a transparent gateway scenario can be any application or platform that has an identity created with the [Azure IoT Hub](https://docs.microsoft.com/azure/iot-hub) cloud service. In many cases, these applications use the [Azure IoT device SDK](../iot-hub/iot-hub-devguide-sdks.md). For all practical purposes, a downstream device could even be an application running on the IoT Edge gateway device itself. However, an IoT Edge device cannot be downstream of an IoT Edge gateway.
3333

3434
You can create any certificate infrastructure that enables the trust required for your device-gateway topology. In this article, we assume the same certificate setup that you would use to enable [X.509 CA security](../iot-hub/iot-hub-x509ca-overview.md) in IoT Hub, which involves an X.509 CA certificate associated to a specific IoT hub (the IoT hub root CA), a series of certificates signed with this CA, and a CA for the IoT Edge device.
3535

@@ -44,7 +44,8 @@ The following steps walk you through the process of creating the certificates an
4444

4545
## Prerequisites
4646

47-
An Azure IoT Edge device to configure as a gateway. Use the IoT Edge installation steps for one of the following operating systems:
47+
* A development machine to create certificates.
48+
* An Azure IoT Edge device to configure as a gateway. Use the IoT Edge installation steps for one of the following operating systems:
4849
* [Windows](how-to-install-iot-edge-windows.md)
4950
* [Linux](how-to-install-iot-edge-linux.md)
5051

@@ -58,7 +59,7 @@ The certificates generated in this section are intended for testing purposes onl
5859

5960
Install OpenSSL for Windows on the machine that you're using to generate the certificates. If you already have OpenSSL installed on your Windows device, you may skip this step, but ensure that openssl.exe is available in your PATH environment variable.
6061

61-
There are several ways you can install OpenSSL:
62+
There are several ways to install OpenSSL, including:
6263

6364
* **Easier:** Download and install any [third-party OpenSSL binaries](https://wiki.openssl.org/index.php/Binaries), for example, from [OpenSSL on SourceForge](https://sourceforge.net/projects/openssl/). Add the full path to openssl.exe to your PATH environment variable.
6465

@@ -316,4 +317,4 @@ To enable extended offline capabilities, you establish a parent-child relationsh
316317

317318
## Next steps
318319

319-
Now that you have an IoT Edge device working as a transparent gateway, you need to configure your downstream devices to trust the gateway and send messages to it. For more information, see [Connect a downstream device to an Azure IoT Edge gateway](how-to-connect-downstream-device.md) and [Authenticate a downstream device to Azure IoT Hub](how-to-authenticate-downstream-device.md).
320+
Now that you have an IoT Edge device working as a transparent gateway, you need to configure your downstream devices to trust the gateway and send messages to it. Continue on to [Authenticate a downstream device to Azure IoT Hub](how-to-authenticate-downstream-device.md) for the next steps in setting up your transparent gateway scenario.

articles/iot-edge/how-to-install-iot-edge-windows.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,14 @@ Use this section to review whether your Windows device can support IoT Edge, and
3737

3838
For development and test scenarios, Azure IoT Edge with Windows containers can be installed on any version of Windows 10 or Windows Server 2019 (build 17763) that supports the containers feature. For information about which operating systems are currently supported for production scenarios, see [Azure IoT Edge supported systems](support.md#operating-systems).
3939

40+
IoT Core devices must include the IoT Core- Windows Containers optional feature to support the IoT Edge runtime. Use the following command in a [remote PowerShell session](https://docs.microsoft.com/windows/iot-core/connect-your-device/powershell) to check that Windows containers are supported on your device:
41+
42+
```powershell
43+
Get-Service vmcompute
44+
```
45+
46+
If the service is present, you should get a successful response with the service status listed as **running**. If the vmcompute service is not found, then your device does not meet the requirements for IoT Edge. Contact your hardware provider to ask about support for this feature.
47+
4048
### Prepare for a container engine
4149

4250
Azure IoT Edge relies on a [OCI-compatible](https://www.opencontainers.org/) container engine. For production scenarios, use the Moby engine included in the installation script to run Windows containers on your Windows device.

0 commit comments

Comments
 (0)