Skip to content

Commit a61643f

Browse files
authored
Add TLS 1.2 breaking change
1 parent 78e187b commit a61643f

File tree

3 files changed

+53
-0
lines changed

3 files changed

+53
-0
lines changed

docs/core/compatibility/8.0.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ If you're migrating an app to .NET 8, the breaking changes listed here might aff
2929
| ----------------------------------------------------------------------- | ----------------- |
3030
| ['ca-certificates' package removed from Alpine images](containers/8.0/ca-certificates-package.md) | Binary incompatible |
3131
| [Debian container images upgraded to Debian 12](containers/8.0/debian-version.md) | Binary incompatible/behavioral change |
32+
| [Debian container images no longer support TLS 1.2](./containers/8.0/default-ciphers-for-tls-changed.md) | Behavioral change |
3233
| [Default ASP.NET Core port changed to 8080](containers/8.0/aspnet-port.md) | Behavioral change |
3334
| [Kerberos package removed from Alpine and Debian images](containers/8.0/krb5-libs-package.md) | Binary incompatible |
3435
| ['libintl' package removed from Alpine images](containers/8.0/libintl-package.md) | Behavioral change |
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
---
2+
title: "Debian 12 container images no longer support TLS 1.2"
3+
description: Learn about the breaking change in containers where .NET 8 Debian container images no longer support TLS 1.2.
4+
ms.date: 08/29/2024
5+
---
6+
# Debian 12 container images no longer support TLS 1.2
7+
8+
.NET 8 Debian 12 container images use different default cipher suites for TLS than .NET 7 Debian 11 container images. The same is true for .NET 8 Ubuntu 24.04 containers images as compared to Ubuntu 22.04.
9+
10+
This change will prevent applications from securely connecting to servers that do not support TLS 1.3.
11+
12+
.NET, on Linux, respects the OpenSSL configuration for default cipher suites when doing TLS/SSL via the <xref:System.Net.Security.SslStream> class or higher-level operations, such as HTTPS via the <xref:System.Net.Http.HttpClient> class. When default cipher suites aren't explicitly configured, .NET on Linux uses a tightly restricted list of permitted cipher suites. This behavior was [added in .NET 5 as a breaking change](../../cryptography/5.0/default-cipher-suites-for-tls-on-linux.md).
13+
14+
Debian 12 and Ubuntu 24.04 do not configure default cipher suites for OpenSSL. Alpine (all known versions) do not configure default cipher suites for OpenSSL.
15+
16+
## Previous behavior
17+
18+
.NET 6 and 7 Debian images are based on Debian 11. Debian 11 includes a setting in `/etc/ssl/openssl.cnf` that configures TLS 1.2 as the minimum supported protocol. This setting is honored by OpenSSL, including when used within .NET apps.
19+
20+
.NET 8 Ubuntu 22.04 images are configured the same way as Debian 11.
21+
22+
## New behavior
23+
24+
.NET 8 Debian images are based on Debian 12. Debian 12 does not configure a minimum protocol version in `/etc/ssl/openssl.cnf`. As a result, The .NET default ciphers are used on Debian 12 or higher, making TLS 1.3 the minimum protocol version.
25+
26+
.NET 8 Ubuntu 24.04 images are configured the same way as Debian 12 and also set TLS 1.3 as the minimum protocol version.
27+
28+
## Version introduced
29+
30+
.NET 5
31+
32+
## Type of change
33+
34+
This change is a [behavioral change](../../categories.md#behavioral-change).
35+
36+
## Reason for change
37+
38+
Debian and Ubuntu maintainers presumably made this change to align with industry standards. TLS 1.2 has not been considered secure for many years. The .NET 5 change was made for the same rationale.
39+
40+
## Recommended action
41+
42+
Upgrade components that do not support TLS 1.3. This is required to create secure workflows.
43+
44+
More information is available at [dotnet/dotnet-docker #6039](https://github.com/dotnet/dotnet-docker/issues/6039).
45+
46+
## Affected APIs
47+
48+
None.
49+
50+
## See also

docs/core/compatibility/toc.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,8 @@ items:
160160
href: containers/8.0/ca-certificates-package.md
161161
- name: Container images upgraded to Debian 12
162162
href: containers/8.0/debian-version.md
163+
- name: Container images no longer support TLS 1.2
164+
href: containers/8.0/default-cipher-suites-for-tls-on-linux.md
163165
- name: Default ASP.NET Core port changed to 8080
164166
href: containers/8.0/aspnet-port.md
165167
- name: Kerberos package removed from Alpine and Debian images

0 commit comments

Comments
 (0)