Skip to content

Commit 8d96033

Browse files
authored
Document .NET 10 OpenSSL 1.1.1 minimum requirement on Unix (#49617)
1 parent 6ce910a commit 8d96033

File tree

3 files changed

+41
-0
lines changed

3 files changed

+41
-0
lines changed

docs/core/compatibility/10.0.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ If you're migrating an app to .NET 10, the breaking changes listed here might af
6464
| [CoseSigner.Key can be null](cryptography/10.0/cosesigner-key-null.md) | Behavioral/source incompatible change | Preview 7 |
6565
| [MLDsa and SlhDsa 'SecretKey' members renamed](cryptography/10.0/mldsa-slhdsa-secretkey-to-privatekey.md) | Source incompatible | RC 1 |
6666
| [OpenSSL cryptographic primitives aren't supported on macOS](cryptography/10.0/openssl-macos-unsupported.md) | Behavioral change | Preview 6 |
67+
| [OpenSSL 1.1.1 or later required on Unix](cryptography/10.0/openssl-version-requirement.md) | Behavioral change | GA |
6768
| [X500DistinguishedName validation is stricter](cryptography/10.0/x500distinguishedname-validation.md) | Behavioral change | Preview 1 |
6869
| [X509Certificate and PublicKey key parameters can be null](cryptography/10.0/x509-publickey-null.md) | Behavioral/source incompatible change | Preview 3 |
6970
| [Environment variable renamed to DOTNET_OPENSSL_VERSION_OVERRIDE](cryptography/10.0/version-override.md) | Behavioral change | Preview 1 |
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
---
2+
title: "Breaking change: .NET 10 requires OpenSSL 1.1.1 or later on Unix"
3+
description: "Learn about the breaking change in .NET 10 where OpenSSL 1.1.1 or later is required on Unix platforms."
4+
ms.date: 11/04/2025
5+
ai-usage: ai-assisted
6+
ms.custom: https://github.com/dotnet/docs/issues/49487
7+
---
8+
# .NET 10 requires OpenSSL 1.1.1 or later on Unix
9+
10+
Starting in .NET 10, OpenSSL 1.1.1 or later is required on Unix platforms where .NET uses OpenSSL for cryptography, such as Linux. If OpenSSL 1.1.1 isn't available on a platform that requires it, the application will fail to start. .NET 10 on macOS doesn't use OpenSSL and isn't impacted by this change.
11+
12+
## Version introduced
13+
14+
.NET 10 GA
15+
16+
## Previous behavior
17+
18+
.NET applications supported OpenSSL versions prior to 1.1.1, such as 1.0.2 and 1.1.0.
19+
20+
## New behavior
21+
22+
Starting in .NET 10, .NET applications require OpenSSL 1.1.1 or later. If OpenSSL 1.1.1 isn't available on a platform that requires it, the application will fail to start.
23+
24+
## Type of breaking change
25+
26+
This change is a [behavioral change](../../categories.md#behavioral-change).
27+
28+
## Reason for change
29+
30+
OpenSSL prior to OpenSSL 1.1.1 is outdated and isn't supported by mainstream Linux or Unix distributions. Supporting these out-of-date OpenSSL versions increases complexity of maintenance, and that effort is better spent on supporting modern versions of OpenSSL.
31+
32+
## Recommended action
33+
34+
Use a distribution of Linux or Unix that includes OpenSSL 1.1.1 or later.
35+
36+
## Affected APIs
37+
38+
None.

docs/core/compatibility/toc.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,8 @@ items:
7878
href: cryptography/10.0/mldsa-slhdsa-secretkey-to-privatekey.md
7979
- name: OpenSSL cryptographic primitives not supported on macOS
8080
href: cryptography/10.0/openssl-macos-unsupported.md
81+
- name: OpenSSL 1.1.1 or later required on Unix
82+
href: cryptography/10.0/openssl-version-requirement.md
8183
- name: X500DistinguishedName validation is stricter
8284
href: cryptography/10.0/x500distinguishedname-validation.md
8385
- name: X509Certificate and PublicKey key parameters can be null

0 commit comments

Comments
 (0)