Cómo habilitar TLS 1.2 en Asp.Net Core 3.1
Estoy trabajando en el proyecto Asp.Net Core 3.1. Estoy probando localmente. Comencé a recibir errores como
Su conexión no es completamente segura Este sitio utiliza una configuración de seguridad obsoleta, que puede exponer su información (por ejemplo, contraseñas, mensajes o tarjetas de crédito) cuando se envía a este sitio. NET :: ERR_SSL_OBSOLETE_VERSION
La conexión utilizada para cargar este sitio utilizó TLS 1.0 o TLS 1.1, que están en desuso y se desactivarán en el futuro. Una vez desactivado, los usuarios no podrán cargar este sitio. El servidor debe habilitar TLS 1.2 o posterior.

Incluso he habilitado TLS 1.2 de Program.cs como se muestra a continuación:
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.ConfigureKestrel(serverOptions =>
{
serverOptions.ConfigureHttpsDefaults(co =>
{
co.SslProtocols = SslProtocols.Tls12;
});
}).UseStartup<Startup>();
});
Pero sigue siendo el mismo error.
¿Puede orientarnos sobre cómo resolver este problema?
Respuestas
Para corregir el error, probé con la solución . Eso no ayudó. El método que probé se sugirió aquí que, según el autor, parece funcionar solo para ASP.NET Core 2.0.
Tomo mirada sobre las opciones de configuración y se encontró que de manera predeterminada ASP.NET 3.1 Core utiliza TLS 1.1 y TLS 1.2 para solicitudes. Entonces, no necesitamos nada que hacer desde el final del código.

Finalmente, me topé con un artículo que comparte:
Windows 7 es compatible con TLS 1.1 y TLS 1.2. Pero estas versiones de protocolo no están habilitadas de forma predeterminada. En Windows 8 y versiones posteriores, estos protocolos están habilitados de forma predeterminada.
Entonces, esta fue la verdadera causa del error. Solucioné el problema habilitando TLS 1.2 desde el editor de registro. Incluso Microsoft sugirió la misma solución .
Espero que le ahorre tiempo a alguien más.
Por favor, corre
dotnet dev-certs https --trust
Su programa # CreateHostBuilder debería verse así (predeterminado)
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});