Skip to content

Kestrel should not hardcode acceptible TLS versions but rather honor OS settings #14997

Closed
@jhudsoncedaron

Description

@jhudsoncedaron

Discovered while switching on TLS 1.3 globally.

Says right in the xmldoc (and verified in the code):

    /// <summary>
    /// Specifies allowable SSL protocols. Defaults to <see cref="SslProtocols.Tls12" /> and <see cref="SslProtocols.Tls11"/>.
    /// </summary>
   public SslProtocols SslProtocols { get; set; }

But the best practices doc says don't do this.

I haven't yet located the API that says what the OS-enabled protocols are (we want to force TLS-1.3 on where possible but not all servers support it yet); however our code should be smarter and not force it on when it's a downgrade, so we would want to call it.

The idea of having switches like this in the OS settings is when protocols get broken, the admin can switch them off immediately without waiting for application upgrades.

Metadata

Metadata

Assignees

Labels

area-networkingIncludes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractionsbreaking-changeThis issue / pr will introduce a breaking change, when resolved / merged.feature-kestrel

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions