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-create-transparent-gateway.md
+3-1Lines changed: 3 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -60,7 +60,7 @@ If you don't have a device ready, you should create one before continuing with t
60
60
61
61
All IoT Edge gateways need a device CA certificate installed on them. The IoT Edge security daemon uses the IoT Edge device CA certificate to sign a workload CA certificate, which in turn signs a server certificate for IoT Edge hub. The gateway presents its server certificate to the downstream device during the initiation of the connection. The downstream device checks to make sure that the server certificate is part of a certificate chain that rolls up to the root CA certificate. This process allows the downstream device to confirm that the gateway comes from a trusted source. For more information, see [Understand how Azure IoT Edge uses certificates](iot-edge-certs.md).
:::image type="content" source="./media/how-to-create-transparent-gateway/gateway-setup.png" alt-text="Screenshot that shows the gateway certificate setup." lightbox="./media/how-to-create-transparent-gateway/gateway-setup.png":::
64
64
65
65
The root CA certificate and the device CA certificate (with its private key) need to be present on the IoT Edge gateway device and configured in the IoT Edge config file. Remember that in this case *root CA certificate* means the topmost certificate authority for this IoT Edge scenario. The gateway device CA certificate and the downstream device certificates need to roll up to the same root CA certificate.
66
66
@@ -120,6 +120,8 @@ If you don't have your own certificate authority and want to use demo certificat
120
120
121
121
Now, you need to copy the certificates to the Azure IoT Edge for Linux on Windows virtual machine.
1. Check the certificate meets [format requirements](how-to-manage-device-certificates.md#format-requirements).
124
126
125
127
1. Copy the certificates to the EFLOW virtual machine to a directory where you have write access. For example, the `/home/iotedge-user` home directory.
Copy file name to clipboardExpand all lines: articles/iot-edge/how-to-deploy-modules-cli.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -115,7 +115,7 @@ Here's a basic deployment manifest with one module as an example:
115
115
116
116
You deploy modules to your device by applying the deployment manifest that you configured with the module information.
117
117
118
-
Change directories into the folder where your deployment manifest is saved. If you used one of the VS Code IoT Edge templates, use the `deployment.json` file in the **config** folder of your solution directory and not the `deployment.template.json` file.
118
+
Change directories into the folder where your deployment manifest is saved. If you used one of the Visual Studio Code IoT Edge templates, use the `deployment.json` file in the **config** folder of your solution directory and not the `deployment.template.json` file.
119
119
120
120
Use the following command to apply the configuration to an IoT Edge device:
The results of your deployment are printed in the VS Code output. Successful deployments are applied within a few minutes if the target device is running and connected to the internet.
144
+
The results of your deployment are printed in the Visual Studio Code output. Successful deployments are applied within a few minutes if the target device is running and connected to the internet.
All IoT Edge devices use certificates to create secure connections between the runtime and any modules running on the device. IoT Edge devices functioning as gateways use these same certificates to connect to their downstream devices, too. For more information about the function of the different certificates on an IoT Edge device, see [Understand how Azure IoT Edge uses certificates](iot-edge-certs.md).
16
+
All IoT Edge devices use certificates to create secure connections between the runtime and any modules running on the device. IoT Edge devices functioning as gateways use these same certificates to connect to their downstream devices, too.
17
17
18
18
> [!NOTE]
19
-
> The term *root CA* used throughout this article refers to the topmost authority's certificate in the certificate chain for your IoT solution. You do not need to use the certificate root of a syndicated certificate authority, or the root of your organization's certificate authority. In many cases, it is actually an intermediate CA certificate.
19
+
> The term *root CA* used throughout this article refers to the topmost authority's certificate in the certificate chain for your IoT solution. You do not need to use the certificate root of a syndicated certificate authority, or the root of your organization's certificate authority. In many cases, it's actually an intermediate CA certificate.
20
20
21
21
## Prerequisites
22
22
23
-
*[Understand how Azure IoT Edge uses certificates](iot-edge-certs.md).
23
+
*You should be familiar with the concepts in [Understand how Azure IoT Edge uses certificates](iot-edge-certs.md), in particular how IoT Edge uses certificates.
24
24
25
25
* An IoT Edge device.
26
-
If you don't have an IoT Edge device set up, you can create one in an Azure virtual machine. Follow the steps in one of the quickstart articles to [Create a virtual Linux device](quickstart-linux.md) or [Create a virtual Windows device](quickstart.md).
26
+
27
+
If you don't have an IoT Edge device set up, you can create one in an Azure virtual machine. Follow the steps in one of these quickstart articles to [Create a virtual Linux device](quickstart-linux.md) or [Create a virtual Windows device](quickstart.md).
27
28
28
29
* Ability to edit the IoT Edge configuration file `config.toml` following the [configuration template](https://github.com/Azure/iotedge/blob/main/edgelet/contrib/config/linux/template.toml).
29
-
* If your `config.toml` isn't based on the template, open the [template](https://github.com/Azure/iotedge/blob/main/edgelet/contrib/config/linux/template.toml) and use the commented guidance to add configuration sections following the structure of the template.
30
-
* If you have a new IoT Edge installation that hasn't been configured, copy the template to initialize the configuration. Don't use this command if you have an existing configuration. It overwrites the file.
30
+
31
+
* If your `config.toml` isn't based on the template, open the [template](https://github.com/Azure/iotedge/blob/main/edgelet/contrib/config/linux/template.toml) and use the commented guidance to add configuration sections following the structure of the template.
32
+
33
+
* If you have a new IoT Edge installation that hasn't been configured, copy the template to initialize the configuration. Don't use this command if you have an existing configuration. It overwrites the file.
@@ -37,10 +40,10 @@ All IoT Edge devices use certificates to create secure connections between the r
37
40
38
41
> [!TIP]
39
42
>
40
-
>* A certificate can be encoded in a binary representation called DER, or a textual representation called PEM. The PEM format is a `-----BEGIN CERTIFICATE-----` header followed by the base64-encoded DER followed by a`-----END CERTIFICATE-----` footer.
43
+
>* A certificate can be encoded in a binary representation called DER (Distinguished Encoding Rules), or a textual representation called PEM (Privacy Enhanced Mail). The PEM format has a `-----BEGIN CERTIFICATE-----` header followed by the base64-encoded DER followed by an`-----END CERTIFICATE-----` footer.
41
44
>* Similar to the certificate, the private key can be encoded in binary DER or textual representation PEM.
42
-
>* Because PEM is delineated, it is also possible to construct a PEM that combines both the `CERTIFICATE` and `PRIVATE KEY` sequentially in the same file.
43
-
>* Lastly, the certificate and private key can be encoded together in a binary representation called *PKCS#12*, that is encrypted with an optional password.
45
+
>* Because PEM is delineated, it's also possible to construct a PEM that combines both the `CERTIFICATE` and `PRIVATE KEY` sequentially in the same file.
46
+
> * Lastly, the certificate and private key can be encoded together in a binary representation called *PKCS#12*, that's encrypted with an optional password.
44
47
>
45
48
> File extensions are arbitrary and you need to run the `file`command or view the file verify the type. In general, files use the following extension conventions:
The output of list with correct ownership and permission is similar to the following:
104
+
The output of the list with the correct ownership and permission is similar to the following output:
102
105
103
106
```Output
104
107
azureUser@vm:/var/aziot$ sudo ls -Rla /var/aziot
@@ -130,7 +133,7 @@ Using a self-signed certificate authority (CA) certificate as a root of trust wi
130
133
131
134
1. Get a publicly trusted root CA certificate from a PKI provider.
132
135
133
-
1. Check the certificate meets [format requirements](#format-requirements).
136
+
1. Check that the certificate meets the[format requirements](#format-requirements).
134
137
135
138
1. Copy the PEM file and give IoT Edge's certificate service access. For example, with `/var/aziot/certs` directory:
136
139
@@ -150,12 +153,12 @@ Using a self-signed certificate authority (CA) certificate as a root of trust wi
150
153
sudo chmod 644 /var/aziot/certs/root-ca.pem
151
154
```
152
155
153
-
1. In the IoT Edge configuration file `config.toml`, find **Trust bundle cert** section. If the section is missing, you can copy it from the configuration template file.
156
+
1. In the IoT Edge configuration file `config.toml`, find the **Trust bundle cert** section. If the section is missing, you can copy it from the configuration template file.
154
157
155
158
>[!TIP]
156
159
>If the config file doesn't exist on your device yet, then use `/etc/aziot/config.toml.edge.template` as a template to create one.
157
160
158
-
1. Set `trust_bundle_cert` key to the certificate file location.
161
+
1. Set the `trust_bundle_cert` key to the certificate file location.
@@ -190,11 +193,11 @@ Installing the certificate to the trust bundle file makes it available to contai
190
193
191
194
## Import certificate and private key files
192
195
193
-
IoT Edge can use existing certificate and private key files to authenticate or attest to Azure, issue new module server certificates, and authenticate to EST servers. To install them:
196
+
IoT Edge can use existing certificates and private key files to authenticate or attest to Azure, issue new module server certificates, and authenticate to EST servers. To install them:
194
197
195
198
1. Check the certificate and private key files meet the [format requirements](#format-requirements).
196
199
197
-
1. Copy the PEM file to the IoT Edge device where IoT Edge modules can have access. For example, `/var/aziot/` directory.
200
+
1. Copy the PEM file to the IoT Edge device where IoT Edge modules can have access. For example, the `/var/aziot/` directory.
198
201
199
202
```bash
200
203
# If the certificate and keys directories don't exist, create, set ownership, and set permissions
@@ -464,7 +467,7 @@ This approach requires you to manually update the files as certificate expires.
464
467
465
468
IoT Edge can interface with an [Enrollment over Secure Transport (EST) server](https://wikipedia.org/wiki/Enrollment_over_Secure_Transport) for automatic certificate issuance and renewal. Using EST is recommended for production as it replaces the need for manual certificate management, which can be risky and error-prone. It can be configured globally and overridden for each certificate type.
466
469
467
-
In this scenario, the bootstrap certificate and private key are expected to be long-lived and potentially installed on the device during manufacturing. IoT Edge uses the bootstrap credentials to authenticate to the EST server for the initial request to issue an identity certificate for subsequent requests, as well as for authentication to DPS or IoT Hub.
470
+
In this scenario, the bootstrap certificate and private key are expected to be long-lived and potentially installed on the device during manufacturing. IoT Edge uses the bootstrap credentials to authenticate to the EST server for the initial request to issue an identity certificate for subsequent requests and for authentication to DPS or IoT Hub.
468
471
469
472
1. Get access to an EST server. If you don't have an EST server, use one of the following options to start testing:
0 commit comments