问题描述
每个人 我已阅读过issue,发现.net core 3.x支持PEM格式证书。我正在尝试使用它,但没有成功。我找不到有关如何使用它的任何示例代码。我拥有的是这样的:
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
webBuilder.UseUrls("http://0.0.0.0:8678/");//It works now and this is without https
webBuilder.UseKestrel(options =>
{
//TODO:
});
});
在TODO:
中,我知道我们必须有这样的东西:
options.Listen(IPAddress.Loopback,8678);
options.Listen(IPAddress.Any,8678);
options.Listen(IPAddress.Loopback,443,listenOptions => { listenOptions.UseHttps("certificate.pfx","password"); });
那么,我们要代替"certificate.pfx","password"
放什么呢?我真的很感谢任何帮助。
在Ubunto计算机中我的证书的路径为:
/etc/letsencrypt/app/fullchain.pem
解决方法
根据this ,. NET 5中添加了PEM支持。
方法是通过添加appsettings.json
以下配置之一:
"Certificates":{
"Default":{
"Path": "/some/asp.pem","KeyPath": "/some/asp.key","Password": "password"
}
}
"Certificates":{
"Default":{
"Path": "/some/asp.pem",}
}
"Certificates":{
"Default":{
"Path": "/some/asp.crt",}
}
此外,在此PR中仍在开发从配置加载证书链的支持,并且可以在NET5 RC2中添加它。
根据提到的PR,您需要在配置文件中指定ChainPath
。