【发布时间】:2022-01-14 16:27:27
【问题描述】:
我正在使用 asp.net core 3.1 构建一个 Web 应用程序。
我想启用 TLS1.2(或 TLS1.3,如果它可以工作并且向后兼容。)
我有一个在 IIS Express 下运行的网站未能通过 SSL 证书。
我遵循了一些说明,我认为我可以通过在 Program.cs 的 CreateHostBuilder 中执行以下代码来解决问题:
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.ConfigureKestrel(s => {
s.ConfigureHttpsDefaults(k =>
{
k.SslProtocols = System.Security.Authentication.SslProtocols.Tls12;
});
}).UseStartup<Startup>();
});
我已经运行了应用程序,但仍然失败并出现同样的错误。
我还在本地机器上运行 IdentityServer4 的实现。那似乎没有同样的问题。
identityserver4 站点是安全的。
如何强制我的网站使用 TLS1.2(或更高版本)?
【问题讨论】:
-
尝试使用Kestrel运行网站,查看警告是否消失?可能问题与 IIS 配置有关,它没有启用 TLS1.2,检查How to use TLS 1.2 in ASP.NET Core 2.0。从this article 看来,Windows 和 macOS 似乎还不支持 TLS 1.3。当支持可用时,.NET Core 3.0 将在这些操作系统上支持 TLS 1.3。
标签: asp.net-core identityserver4 tls1.2 asp.net-core-3.1