Как можно добавить доверие к самоподписанному сертификату в Windows?

Как настроить локальный SSL сертификат на Windows для связи между проектом React и asp.net core web api через HTTPS? Получаю ошибку "NET::ERR_CERT_COMMON_NAME_INVALID" после добавления сертификата через certmgr.msc и конфигурирования проекта вручную. Вот конфигурация приложения в asp.net core и файл Program.cs для установки SSL сертификата. Как исправить данную ошибку?
  • 21 марта 2024 г. 9:29
Ответы на вопрос 3
Для добавления доверия к самоподписанному сертификату в Windows, можно воспользоваться следующими шагами:

1. Откройте центр управления сертификатами (certmgr.msc) в Windows.
2. Перейдите в "Доверенные корневые центры сертификации" и "Личный".
3. Импортируйте ваш самоподписанный сертификат в оба хранилища.
4. Убедитесь, что сертификат успешно импортирован.

Чтобы настроить локальный SSL сертификат на Windows для связи между проектом React и ASP.NET Core Web API через HTTPS, вам необходимо произвести следующие действия:

1. Убедитесь, что у вас есть самоподписанный SSL сертификат, который вы успешно добавили в центр управления сертификатами Windows.
2. Настройте ваш ASP.NET Core Web API для работы с HTTPS. В вашем файле Startup.cs добавьте следующий код:

```csharp
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }
    else
    {
        app.UseHsts();
    }

    app.UseHttpsRedirection();
    app.UseRouting();
    app.UseAuthorization();

    app.UseEndpoints(endpoints =>
    {
        endpoints.MapControllers();
    });
}
```

3. В файле Program.cs добавьте следующий код для установки SSL сертификата:

```csharp
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
    WebHost.CreateDefaultBuilder(args)
        .UseStartup<Startup>()
        .UseKestrel(options =>
        {
            options.Listen(IPAddress.Loopback, 5001, listenOptions =>
            {
                listenOptions.UseHttps("mycertificate.pfx", "password");
            });
        });
```

4. В вашем проекте React настройте запросы к вашему ASP.NET Core Web API через HTTPS.

Если после выполнения этих шагов вы все еще получаете ошибку "NET::ERR_CERT_COMMON_NAME_INVALID", то возможно проблема связана с некорректной настройкой вашего SSL сертификата. Проверьте правильность его установки и настройки в вашем ASP.NET Core Web API. Также убедитесь, что правильный порт используется для работы через HTTPS.
Нужно поставить локальный SSL сертификат на Windows для подключения проекта React на asp.net core web api через https с использованием сертификата.

Я не очень понимаю в том, что ты делаешь, но если надо, чтобы сертификат воспринимался браузером (т.е. работал для приложений, которые работают в браузере), и сертификат делался в OpenSSL, то достаточно в браузере запихать предоставленный pem файл в хранилище сертификатов браузера.
надо импортировать cert.pfx в хранилище сертификатов локальной машины (через certlm.msc), затем там же перенести/скопировать импортированный сертификат в "Доверенные корневые центры сертификации"
Похожие вопросы