红隼和自签名证书。内网桌面应用
Kestrel and self signed certificate. The desktop application in the intranet
我想在本地 WebApi 和桌面应用程序之间的 Intranet 环境中保护连接。我不能使用官方证书,我不会使用特定域名,它不会在线使用。
我使用 OpenSSL 创建了自签名证书并像这样使用它:Kestrel and self signed certificate error during startup application
Kestrel 播放效果不佳,仍然没有使用我提供的证书,而是使用默认证书。
为了缓解,您需要伪造 Kestrel 正在等待的默认证书。我不确定这是为什么?即使我将我的证书添加到本地计算机上的受信任根,Kestrel 也不会打扰并等待“特殊证书”。
你是怎么处理这样的问题的?如果我想保护连接并使用自签名证书,我有什么选择?
这是我如何 运行 kestrel 与证书“.pfx”文件的示例。
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.UseSerilog()
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseKestrel(webOptions =>
{
var port = 8000;
webOptions.Listen(IPAddress.Any, port, listenOptions =>
{
listenOptions.UseHttps(GetCertificatePath(), GetCertificatePassword());
});
});
webBuilder.UseStartup<Startup>();
});
我已经在 github/aspnetcore 上发布了这个问题并得到了答案。
https://github.com/dotnet/aspnetcore/issues/36204#event-5293269898
问题是因为我在 appsettings.json 和 Program.cs public static IHostBuilder CreateHostBuilder(string[] args) =>...
中都有 Kestrel 设置,最后只采用了 appsettings.json 中的设置,不幸的是不包含证书详细信息。
我想在本地 WebApi 和桌面应用程序之间的 Intranet 环境中保护连接。我不能使用官方证书,我不会使用特定域名,它不会在线使用。
我使用 OpenSSL 创建了自签名证书并像这样使用它:Kestrel and self signed certificate error during startup application
Kestrel 播放效果不佳,仍然没有使用我提供的证书,而是使用默认证书。
为了缓解,您需要伪造 Kestrel 正在等待的默认证书。我不确定这是为什么?即使我将我的证书添加到本地计算机上的受信任根,Kestrel 也不会打扰并等待“特殊证书”。
你是怎么处理这样的问题的?如果我想保护连接并使用自签名证书,我有什么选择?
这是我如何 运行 kestrel 与证书“.pfx”文件的示例。
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.UseSerilog()
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseKestrel(webOptions =>
{
var port = 8000;
webOptions.Listen(IPAddress.Any, port, listenOptions =>
{
listenOptions.UseHttps(GetCertificatePath(), GetCertificatePassword());
});
});
webBuilder.UseStartup<Startup>();
});
我已经在 github/aspnetcore 上发布了这个问题并得到了答案。 https://github.com/dotnet/aspnetcore/issues/36204#event-5293269898
问题是因为我在 appsettings.json 和 Program.cs public static IHostBuilder CreateHostBuilder(string[] args) =>...
中都有 Kestrel 设置,最后只采用了 appsettings.json 中的设置,不幸的是不包含证书详细信息。