【问题标题】:Enabling TLS1.2 or TLS1.3 in c# asp.net core 3.1在 c# asp.net core 3.1 中启用 TLS1.2 或 TLS1.3
【发布时间】: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(或更高版本)?

【问题讨论】:

标签: asp.net-core identityserver4 tls1.2 asp.net-core-3.1


【解决方案1】:

您可以在此处设置支持的 TSL 协议:

webBuilder.UseKestrel((context, serverOptions) =>
{
    serverOptions.AddServerHeader = false;

    serverOptions.Listen(IPAddress.Any, 80);

    serverOptions.Listen(IPAddress.Any, 443,
        options =>
        {
            var cert = ...Load TLS certificate;

            options.UseHttps(serverCertificate: cert, configureOptions: httpsOptions =>
            {
                httpsOptions.SslProtocols = SslProtocols.Tls12 | SslProtocols.Tls13;
            });
        });
});

另见

【讨论】:

  • 这看起来像是旧版本的 dot net core,但感谢您的想法,我会尝试一下。
  • 这是 ASP.NET Core 3.1,这是我在生产中设置的方式。我还添加了一些指向答案的链接。希望这是一个可以接受的答案。
  • 啊,好吧,我以为它不再使用 UseKestrel(无论如何都是默认设置),所有配置都是在 ConfigureWebHostDefaults 中完成的。我现在不在我的电脑附近,但我会检查一下。
  • 我通常不使用 IIS Express,因为我的大部分部署都使用 Linux 容器,并且我直接在公共互联网上使用 Kestrel。
  • 事实证明我可能不需要做任何这些。一旦我切换到使用自托管服务器,它就会识别 TLS1.2。所以这一定与 TLS1.2 在 IISExpress 中不活动有关。
猜你喜欢
  • 2020-12-06
  • 1970-01-01
  • 2021-11-19
  • 2023-02-19
  • 1970-01-01
  • 2020-12-07
  • 2020-08-31
  • 2022-01-22
  • 1970-01-01
相关资源
最近更新 更多