【发布时间】:2020-07-10 09:15:03
【问题描述】:
我一直在尝试将 https 添加到绑定到域的网站。因此,我尝试 certbot 生成 我的证书。我已经在用 js 编写的模拟服务器上测试了这些证书。在那里,我所要做的就是为 Express 服务器提供特定的选项,如下所示:
var options = {
key: fs.readFileSync('privkey.pem'),
cert: fs.readFileSync('fullchain.pem')
};
噗,我的浏览器的链接选项卡上出现了一个锁,说我的网站是安全的。现在我想把它移到 ASP.NET Core,所以我找到了 kestrel 选项,我可以在其中提供我的证书:
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
webBuilder.ConfigureKestrel(o =>
{
o.ConfigureHttpsDefaults(ohttps =>
{
ohttps.ClientCertificateMode = Microsoft.AspNetCore.Server.Kestrel.Https.ClientCertificateMode.RequireCertificate;
ohttps.ServerCertificate = new System.Security.Cryptography.X509Certificates.X509Certificate2(...);
});
});
});
但是,我似乎只需要提供 X509 证书,这是一个公共证书。服务器不需要私有证书来提供安全连接吗?我必须使用私人证书吗?如何在 ASP.NET Core 中实现它? (3.1)
【问题讨论】:
标签: c# .net asp.net-core https