Skip to content

[Breaking change]: Mark SslProtocols.Tls and SslProtocols.Tls11 as obsolete #28475

Closed
@rzikm

Description

@rzikm

Description

dotnet/runtime#65773 marks SslProtocols.Tls and SslProtocols.Tls11 as obsolete.

Original issue: dotnet/runtime#65546

Version

.NET 7 Preview 3

Previous behavior

No warnings when SslProtocols.Tls and SslProtocols.Tls11 were used in code.

New behavior

Using SslProtocols.Tls or SslProtocols.Tls11 produces SYSLIB039 warning

Type of breaking change

  • Binary incompatible: Existing binaries may encounter a breaking change in behavior, such as failure to load/execute or different run-time behavior.
  • Source incompatible: Source code may encounter a breaking change in behavior when targeting the new runtime/component/SDK, such as compile errors or different run-time behavior.

Reason for change

With the recent push for more secure defaults and behavior and with recent Azure and CipherSuitePolicy changes we feel it is time to mark TLS 1.0 and 1.1 as obsolete since the industry no longer considers them as safe.

Recommended action

Use a higher TLS protocol version, or use SslProtocol.None to defer to system defaults.

Otherwise, the warning can be silenced using #pragma warning disable:

#pragma warning disable SYSLIB0039 // TLS 1.0 and 1.1 are obsolete
                    protocols = SslProtocols.Tls | SslProtocols.Tls11 | SslProtocols.Tls12;
#pragma warning restore SYSLIB0039

Feature area

Networking

Affected APIs

SslProtocols enum.

Metadata

Metadata

Assignees

Labels

🏁 Release: .NET 7Work items for the .NET 7 releasebreaking-changeIndicates a .NET Core breaking changesource incompatibleSource code may encounter a breaking change in behavior when targeting the new version.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions