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-hub/iot-hub-tls-support.md
+28-6Lines changed: 28 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,8 +5,9 @@
5
5
author: SoniaLopezBravo
6
6
ms.service: azure-iot-hub
7
7
ms.topic: how-to
8
-
ms.date: 03/24/2025
8
+
ms.date: 06/05/2025
9
9
ms.author: sonialopez
10
+
ms.custom: references_regions
10
11
---
11
12
12
13
# Transport Layer Security (TLS) support in IoT Hub
@@ -17,7 +18,9 @@ IoT Hub uses Transport Layer Security (TLS) to secure connections from IoT devic
17
18
> Azure IoT Hub will end support for TLS 1.0 and 1.1 in alignment with the Azure wide service announcement for [TLS 1.0 and 1.1 retirement](https://azure.microsoft.com/updates?id=update-retirement-tls1-0-tls1-1-versions-azure-services) on **August 31, 2025**.
18
19
>
19
20
> It's therefore essential that you properly test and validate that *all* your IoT devices and services are compatible with TLS 1.2 and the [recommended ciphers](#cipher-suites) in advance. It's highly recommended to use the [minimum TLS enforcement feature](#enforce-iot-hub-to-use-tls-12-and-strong-cipher-suites) as the mechanism for testing and compliance.
20
-
>
21
+
22
+
23
+
> [!IMPORTANT]
21
24
> It’s important to distinguish between **TLS 1.2 support** and **TLS 1.2 enforcement**. TLS 1.2 is supported on all IoT Hubs, meaning that IoT Hubs can handle connections using the TLS 1.2 protocol. On the other hand, TLS 1.2 enforcement ensures that IoT Hub **only** accepts connections using TLS 1.2 or higher. When TLS 1.2 enforcement is enabled, the service also enforces the use of [strong cipher suites](#cipher-suites) as described above. Future updates will allow for the enforcement of TLS 1.2 while permitting non-recommended cipher suites.
22
25
>
23
26
> Currently, TLS 1.2 enforcement is supported only in select regions:
@@ -81,6 +84,26 @@ The following cipher suites are currently allowed in IoT Hub. However, these cip
81
84
82
85
A client can suggest a list of higher cipher suites to use during `ClientHello`. However, IoT Hub might not support some of them, for example, `ECDHE-ECDSA-AES256-GCM-SHA384`. In this case, IoT Hub tries to follow the preference of the client but eventually negotiate down the cipher suite with `ServerHello`.
83
86
87
+
## Update IoT Hub to TLS 1.2 support
88
+
89
+
Once an IoT Hub is created, the `minTlsVersion` property can be updated using the Azure portal, CLI, or SDKs. If you need to update to enforce IoT Hub to use TLS 1.2 and strong cipher suites (only allowed in selected regions) or to set TLS 1.2 support (supported in all regions), you can do so following these steps.
90
+
91
+
To update IoT Hub to support TLS 1.2 and/or enforce strong cipher suites in Azure portal:
92
+
93
+
1. Navigate to your existing IoT Hub in the [Azure portal](https://portal.azure.com).
94
+
1. In the **Overview** tab in the left menu, click on the **Minimum TLS Version link** from the Essentials section.
95
+
96
+
:::image type="content" source="media/iot-hub-tls-support/iot-hub-tls-support-1.png" alt-text="Screenshot showing how to choose TLS support minimum version." lightbox="media/iot-hub-tls-support/iot-hub-tls-support-1.png":::
97
+
98
+
1. From the Minimum TLS version side window, select **1.2** to ensure that only devices supporting TLS 1.2 or higher can connect.
99
+
1. Click on **Update**.
100
+
101
+
:::image type="content" source="media/iot-hub-tls-support/iot-hub-tls-support-2.png" alt-text="Screenshot showing how to turn on TLS 1.2 support." lightbox="media/iot-hub-tls-support/iot-hub-tls-support-2.png":::
102
+
103
+
> [!NOTE]
104
+
> You can update your IoT Hub to TLS 1.2 in ALL public regions. However, if you update an IoT Hub in one of the selected regions (East US, South Central US, West US 2, US Gov Arizona, and US Gov Virginia), it will enforce stronger cipher suites.
105
+
106
+
84
107
## Enforce IoT Hub to use TLS 1.2 and strong cipher suites
85
108
86
109
To ensure your IoT devices are TLS 1.2 and [strong cipher suites](#cipher-suites) compliance, you can enforce compliance using minimum TLS enforcement feature in Azure IoT Hub.
@@ -95,11 +118,12 @@ Currently this feature is only available in the following regions and during IoT
95
118
96
119
To enable TLS 1.2 and strong cipher suites enforcement in Azure portal:
97
120
98
-
1.Staring with the IoT Hub create wizard in Azure portal
121
+
1.Starting with the IoT Hub create wizard in Azure portal
99
122
2. Choose a **Region** from one in the list above.
100
123
3. Under **Management -> Advanced -> Transport Layer Security (TLS) -> Minimum TLS version**, select **1.2**. This setting only appears for IoT hub created in supported region.
101
124
102
125
:::image type="content" source="media/iot-hub-tls-12-enforcement.png" alt-text="Screenshot showing how to turn on TLS 1.2 enforcement during IoT hub creation.":::
126
+
103
127
4. Select **Create**
104
128
5. Connect your IoT devices to this IoT Hub
105
129
@@ -130,9 +154,7 @@ To use ARM template for creation, provision a new IoT Hub in any of the supporte
130
154
131
155
The created IoT Hub resource using this configuration refuses device and service clients that attempt to connect using TLS versions 1.0 and 1.1. Similarly, the TLS handshake is refused if the `ClientHello` message doesn't list any of the [recommended ciphers](#cipher-suites).
132
156
133
-
> [!NOTE]
134
-
> The `minTlsVersion` property is read-only and can't be changed once your IoT Hub resource is created. It's therefore essential that you properly test and validate that *all* your IoT devices and services are compatible with TLS 1.2 and the [recommended ciphers](#cipher-suites) in advance.
135
-
>
157
+
> [!NOTE]
136
158
> Upon failovers, the `minTlsVersion` property of your IoT Hub remains effective in the geo-paired region post-failover.
0 commit comments