Skip to content

Commit f297d27

Browse files
authored
Merge pull request #300883 from SoniaLopezBravo/iothub-support-tls
Adding TLS 1.2 support to IoT Hub
2 parents 1a6d1df + 14c2ce4 commit f297d27

File tree

3 files changed

+28
-6
lines changed

3 files changed

+28
-6
lines changed

articles/iot-hub/iot-hub-tls-support.md

Lines changed: 28 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,9 @@
55
author: SoniaLopezBravo
66
ms.service: azure-iot-hub
77
ms.topic: how-to
8-
ms.date: 03/24/2025
8+
ms.date: 06/05/2025
99
ms.author: sonialopez
10+
ms.custom: references_regions
1011
---
1112

1213
# 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
1718
> 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**.
1819
>
1920
> 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]
2124
> 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.
2225
>
2326
> 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
8184

8285
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`.
8386

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+
84107
## Enforce IoT Hub to use TLS 1.2 and strong cipher suites
85108

86109
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
95118

96119
To enable TLS 1.2 and strong cipher suites enforcement in Azure portal:
97120

98-
1. Staring with the IoT Hub create wizard in Azure portal
121+
1. Starting with the IoT Hub create wizard in Azure portal
99122
2. Choose a **Region** from one in the list above.
100123
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.
101124

102125
:::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+
103127
4. Select **Create**
104128
5. Connect your IoT devices to this IoT Hub
105129

@@ -130,9 +154,7 @@ To use ARM template for creation, provision a new IoT Hub in any of the supporte
130154

131155
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).
132156

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]
136158
> Upon failovers, the `minTlsVersion` property of your IoT Hub remains effective in the geo-paired region post-failover.
137159
138160
## Checking TLS versions for IoT Hub devices
51.7 KB
Loading
24.6 KB
Loading

0 commit comments

Comments
 (0)