Я пытался добавить https на свой сайт, который привязан к домену. Поэтому я попытался сгенерировать сертификаты с помощью certbot. Я протестировал эти сертификаты на своем фиктивном сервере, написанном на js. Там все, что мне нужно было сделать, это указать параметры c для сервера Express, например:
var options = {
key: fs.readFileSync('privkey.pem'),
cert: fs.readFileSync('fullchain.pem')
};
Пуф, на вкладке ссылок в моем браузере появилась блокировка, говорящая, что мой веб-сайт безопасен. Теперь я хотел переместить его в ядро ASP. NET, поэтому я нашел варианты пустельги, где я могу предоставить свой сертификат:
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, который является сертификатом publi c. Разве частный сертификат не нужен серверу для обеспечения безопасного соединения? Обязательно ли использовать частный сертификат? Как это реализовать в ASP. NET Core? (3,1)