Reputation: 795
I have an ASP.NET Core 2.0 REST server running fine, but I need to restrict access to TLS1.2 - how do I do this? Can't seem to find any documentation on it. Server is running on Kestrel. Thanks!
Upvotes: 8
Views: 15032
Reputation: 256
In .NET Core 3.1, you can force TLS 1.2 by adding code below inside ConfigureWebHostDefaults in Program.cs
webBuilder.UseKestrel(opt =>
{
opt.AddServerHeader = false;
opt.ConfigureHttpsDefaults(s =>
{
s.SslProtocols = SslProtocols.Tls12;
});
});
Image below for full code visiblity:
Upvotes: 0
Reputation: 181
.NET Core 2.1 Kestrel config:
.UseKestrel(c =>
{
c.ConfigureHttpsDefaults(opt =>
{
opt.SslProtocols = SslProtocols.Tls12;
});
})
Upvotes: 6
Reputation: 93053
There's a UseHttps
overload that allows you to provide a HttpsConnectionAdapterOptions
instance to configure this. Here's an example of what this might look like in your case:
listenOptions.UseHttps(new HttpsConnectionAdapterOptions
{
...
SslProtocols = SslProtocols.Tls12
});
For reference, SslProtocols
defaults to SslProtocols.Tls12 | SslProtocols.Tls11
.
Upvotes: 17