Come abilitare TLS 1.2 in Asp.Net Core 3.1
Sto lavorando al progetto Asp.Net Core 3.1. Sto testando a livello locale. Ho iniziato a ricevere errori come
La tua connessione non è completamente sicura Questo sito utilizza una configurazione di sicurezza obsoleta, che potrebbe esporre le tue informazioni (ad esempio, password, messaggi o carte di credito) quando vengono inviate a questo sito. NET :: ERR_SSL_OBSOLETE_VERSION
La connessione utilizzata per caricare questo sito utilizzava TLS 1.0 o TLS 1.1, che sono deprecati e verranno disabilitati in futuro. Una volta disabilitato, agli utenti verrà impedito di caricare questo sito. Il server dovrebbe abilitare TLS 1.2 o successivo.

Ho persino abilitato TLS 1.2 da Program.cs come di seguito -
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.ConfigureKestrel(serverOptions =>
{
serverOptions.ConfigureHttpsDefaults(co =>
{
co.SslProtocols = SslProtocols.Tls12;
});
}).UseStartup<Startup>();
});
Ma sempre lo stesso errore.
Puoi guidarci per favore su come risolvere questo problema?
Risposte
Per correggere l'errore, ho provato con la soluzione . Quello non ha aiutato. Il metodo che ho provato è stato suggerito qui che, come da autore, sembra funzionare solo per ASP.NET Core 2.0.
Ho esaminato le opzioni di configurazione e ho scoperto che per impostazione predefinita ASP.NET Core 3.1 utilizza TLS 1.1 e TLS 1.2 per le richieste. Quindi, non abbiamo bisogno di fare nulla dalla fine del codice.

Alla fine, sono incappato in un articolo che condivide-
Windows 7 supporta TLS 1.1 e TLS 1.2. Ma queste versioni del protocollo non sono abilitate per impostazione predefinita. Su Windows 8 e versioni successive questi protocolli sono abilitati per impostazione predefinita.
Quindi, questa era la vera causa dell'errore. Ho risolto il problema abilitando TLS 1.2 dall'editor del registro. Anche Microsoft ha suggerito la stessa soluzione .
Spero che faccia risparmiare tempo a qualcun altro.
Per favore corri
dotnet dev-certs https --trust
Il tuo programma # CreateHostBuilder dovrebbe assomigliare a questo (impostazione predefinita)
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});