Кажется, что IIS Express
делает некоторые работы за сценой, которые включают в себя настройку SSL
сертификации.Итак, я сконцентрировался на компоненте внутреннего хостинга ASP.NET Core
, который Kestrel
.
Во-первых, я создал и сертификат SSL, используя PowerShell
с помощью этой команды:
New-SelfSignedCertificate -DnsName localhost -CertStoreLocation "cert:\LocalMachine\My"
Эта команда создает сертификацию, которую я вижу через программу management console / certificates
.Для получения дополнительной информации см. это .После создания нового сертификата вы должны экспортировать его как файл pfx
.Для этого в консоли управления выполните следующие действия:
- Добавьте оснастку
Certificates
в консоль управления. - Перемещение по
Personal\Certifcates
- Вправощелкните по вновь созданному сертификату и в «всех задачах» выберите «экспорт»
- Выберите параметр, который говорит: «Да, экспортировать закрытый ключ»
- Вы увидите, что
pfx
выбирается автоматически.Нажмите «Далее» - Установите пароль и сохраните местоположение.
- Вы закончили с созданием файла pfx
Следующим шагом является настройка ASP.NET Core наиспользуйте файл pfx
, который описан здесь :
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup < Startup > ()
.UseKestrel((hostingContext, options) =>
{
if (hostingContext.HostingEnvironment.IsDevelopment) {
options.Listen(IPAddress.Loopback, 9001);
options.Listen(IPAddress.Loopback, 9002, listenOptions => {
listenOptions.UseHttps("certificate.pfx", "password");
});
}
})
.Build();
Теперь проблема должна быть решена.Если нет, попробуйте сертификат, созданный IIS Express
.Это также доступно в консоли управления.