Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Kestrel använder nu systemets standardversioner av TLS-protokoll i stället för att begränsa anslutningar till TLS 1.1- och TLS 1.2-protokollen som tidigare.
Den här ändringen tillåter:
- TLS 1.3 används som standard i miljöer som stöder det.
- TLS 1.0 som ska användas i vissa miljöer (till exempel Windows Server 2016 som standard), vilket vanligtvis inte är önskvärt.
För diskussion, se ärende dotnet/aspnetcore#22563.
Version lanserad
5.0 Förhandsversion 6
Gammalt beteende
Kestrel krävde att anslutningarna använder TLS 1.1 eller TLS 1.2 som standard.
Nytt beteende
Med Kestrel kan operativsystemet välja det bästa protokollet att använda och blockera osäkra protokoll.
HttpsConnectionAdapterOptions.SslProtocols är nu standardvärdet som SslProtocols.None istället för SslProtocols.Tls12 | SslProtocols.Tls11.
Orsak till ändring
Ändringen gjordes för att stödja TLS 1.3 och framtida TLS-versioner som standard när de blir tillgängliga.
Rekommenderad åtgärd
Såvida inte appen har en specifik anledning att inte göra det bör du använda de nya standardvärdena. Kontrollera att systemet är konfigurerat för att endast tillåta säkra protokoll.
Om du vill inaktivera äldre protokoll utför du någon av följande åtgärder:
Inaktivera äldre protokoll, till exempel TLS 1.0, systemomfattande med Windows-instruktionerna. Den är för närvarande aktiverad som standard i alla Windows-versioner.
Välj manuellt vilka protokoll som du vill stödja i kod enligt följande:
using System.Security.Authentication; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Hosting; public class Program { public static void Main(string[] args) => CreateHostBuilder(args).Build().Run(); public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseKestrel(kestrelOptions => { kestrelOptions.ConfigureHttpsDefaults(httpsOptions => { httpsOptions.SslProtocols = SslProtocols.Tls12 | SslProtocols.Tls13; }); }); webBuilder.UseStartup<Startup>(); }); }
Tyvärr finns det inget API för att exkludera specifika protokoll.