gpt4 book ai didi

c# - 在 .NET 控制台应用程序中为 Kestrel WebHost 构建器配置 SSL 证书

转载 作者:行者123 更新时间:2023-12-04 22:39:08 24 4
gpt4 key购买 nike

我正在控制台应用程序中创建一个 ASP.NET Web API 端点,我需要将其作为 Windows 服务托管。
现在一切正常,除了端点在 http 中。我想使用https。
当我通过 Visual Studio 运行它时。
我相信 Kestrel 在 IIS 后面,因为它是一个反向代理,并且 SSL 证书已经过验证。但是当我将它作为 Windows 服务托管时。尝试到达端点时遇到证书错误
这是我的 Kestrel WebHost 构建器

var configigurations = new ConfigurationBuilder()
.AddJsonFile("appsettings.json", optional: false)
.Build();
var host = new WebHostBuilder()
.UseKestrel(options =>
{
options.ListenAnyIP(443, listenOptions =>
{
listenOptions.UseHttps("sslcertificate.pfx", "ssl@123");
});
})
.UseUrls(config.ApiBaseUrl)
.UseConfiguration(configigurations)
.UseStartup<Startup>()
.Build();
host.Run();
由于它作为 Windows 服务运行并公开 API,因此我不能依赖 IIS。我需要为 Kestrel 进行配置。
但我怎么能
  • 为 localhost 生成 SSL(我使用的是 Windows)
  • 如果我已经在生产中使用 SSL 证书 (*.cert)。如何在生产服务器(也是 Windows)上使用它制作 *.pfx(证书 + RSA 私钥)
  • 最佳答案

    这将创建一个证书

    dotnet dev-certs https -ep $env:USERPROFILE\.aspnet\https\aspnetapp.pfx -p crypticpassword
    这将建立一个信任
    dotnet dev-certs https --trust

    关于c# - 在 .NET 控制台应用程序中为 Kestrel WebHost 构建器配置 SSL 证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67385217/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com