Невозможно настроить конечную точку HTTPS. Сертификат сервера не указан, и сертификат разработчика по умолчанию не найден

Я работаю над приложением Fabric, в котором я настроил HTTPS. Это вызывает исключение, хотя у меня есть действующий установленный сертификат.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
96
0
67 905
19

Ответы 19

У меня была похожая (но не совсем такая) проблема. В версии 2.1 вам нужно настроить вашего сертификата. Я так делаю сейчас полностью в appsettings.json.
Вы можете найти мою запись здесь:
Настройка самостоятельного хостинга приложения Kestrel с сертификатом для https (веб-сервер в Интернете)

Только посмотрите на решение ...

Эти инструкции от этот блог сработали для меня

  1. dotnet dev-сертификаты https --clean
  2. dotnet dev-сертификаты https -t
  3. Перезагрузите VS

если это не удается (как это было в моем случае, проверка ответа @ Stephen (stackoverflow.com/a/57301251/1796) - это сработало для меня.

Andrei Rînea 18.09.2019 11:38

В дополнение к этим шагам мне потребовался перезапуск VS

Andrew Bullock 04.05.2020 13:04

@AndrewBullock Обновлено, чтобы включить этот шаг, спасибо.

Peter Morris 04.05.2020 17:06

После этого, но все еще были проблемы - затем сделал то, что предложил @hikarikuen (stackoverflow.com/a/64776368/5101) - очистил личные сертификаты localhost из хранилища сертификатов Windows, а затем повторно запустил указанную выше команду, и все сработало.

Thiago Silva 05.02.2021 06:47

У меня были те же проблемы, и очистка -> тогда мне помогла установка сертификатов (другой ответ здесь). Вы также можете выдать сертификат, как и для рабочего сервера. Очень полезно знать.

У меня была эта проблема в моей системе Windows 10 с использованием Visual Studio. Проблема, казалось, заключалась в том, что команда, используемая в графическом интерфейсе для очистки локальных сертификатов для HTTPS, давала сбой с сообщением об ошибке, которое я больше не могу воспроизвести.

Решением для меня было открыть certmgr для текущей учетной записи Windows и удалить все личные сертификаты localhost. Для меня там было ~ 20 сертификатов, потому что я много раз пытался их воссоздать. После удаления всех этих сертификатов я снова запустил свой .Net core HTTPS API, и все заработало!

Таким образом, откройте свой certmgr для текущего пользователя и очистите все личные / локальные сертификаты.

это сработало для меня после того, как другие ответы не сделали. Удалил два набора локальных хостов в личных и доверенных корневых сертификатах.

WernerCD 24.12.2020 18:56

Я использую OSX, и dotnet dev-certs https --clean и sudo dotnet dev-certs https --clean у меня не работали. Наконец, я смог исправить это, выполнив следующие действия.

  1. Войдите в Keychain Access
  2. Разблокировать системный брелок
  3. Удалите сертификат localhost
  4. Запускаем dotnet dev-certs https -t

Теперь вы можете работать без ошибок.

Редактировать:

Если после выполнения приведенного выше ответа вы столкнетесь с ошибкой, которая читает There was an error saving the HTTPS developer certificate..., ознакомьтесь с этим ответом https://stackoverflow.com/a/56709117/621827

в следующий раз просто запустите как sudo, dotnet dev-certs https --clean;) также доверяйте своим сертификатам, они обычно жалуются только по какой-то причине.

Pogrindis 01.08.2019 05:02

@Pogrindis Я запускал как sudo, но он все равно не работал. Мне пришлось вручную удалить его из Связки ключей, чтобы решить проблему.

Stephen Gilboy 01.08.2019 05:22

Ты чувак, спасающий жизнь.

AskYous 14.09.2019 05:45

Это решение работало для меня в OS X 10.14.6 с .NET Core 2.1 (.301)

Andrei Rînea 18.09.2019 11:39

Для меня проблема была решена запуском:

  1. dotnet dev-сертификаты https --clean
  2. dotnet dev-сертификаты https --verbose

Не уверен, что это поможет кому-то еще, но у меня была именно эта проблема на моем Mac. У меня есть проект в Dropbox, и поэтому он используется на всех машинах, на второй машине мне пришлось зайти и вручную удалить папки obj и bin, затем повторно запустить приложение, и все сработало.

Если вы хотите работать со средой, которая не является средой разработки, не забывайте, что секреты пользователей добавляются автоматически только тогда, когда env имеет значение Development.

Вы можете использовать методы AddUserSecrets, чтобы решить эту проблему:

public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.ConfigureAppConfiguration((hostingContext, builder) =>
                {
                    var env = hostingContext.HostingEnvironment;
                    if (env.IsEnvironment("Local"))
                    {
                        builder.AddUserSecrets<Startup>();
                    }
                })
                .UseStartup<Startup>();
            });

см. также: https://docs.microsoft.com/en-us/aspnet/core/security/app-secrets?view=aspnetcore-3.1&tabs=windows#access-a-secret

Нет необходимости создавать локальную переменную, вы можете написать условие проверки в строке

DioBrando 25.11.2020 19:47

У меня была такая же проблема. Проблема заключалась в том, что проект был с .net 4.6.1, а не с ядром .net.

В Windows dotnet dev-certs https --clean у меня не работает, мне приходится вручную удалять эти сертификаты localhost.

  1. Откройте certmgr.msc
  2. Удалите все сертификаты localhost в разделе «Доверенные корневые центры сертификации / сертификаты».
  3. Запускаем dotnet dev-certs https -t

Я запускаю это в командной строке. кстати, я использую Window 10 dotnet dev-сертификаты https dotnet dev-сертификаты https -t

Пожалуйста, будьте осторожны после использования этой команды, обязательно перезапустите Visual Studio.

hr person 18.08.2020 22:26

Я надеюсь, что отдельный ответ подойдет, так как у меня нет представителя для комментариев. Вот решение, которое я нашел, о котором я не упоминал нигде на SO или других сайтах. Это характерно для диспетчера сертификатов Windows, не уверен, что другие операционные системы сталкиваются с аналогичными проблемами.

Что я пробовал из других ответов

dotnet dev-certs https аргументы

Я пробовал различные комбинации dotnet dev-certs https с --trust, --clean, --verbose (который, похоже, не регистрировал никакой дополнительной информации) и --check (который так и не нашел сертификата)

certmgr.msc

Как было предложено в других ответах, я удалил все сертификаты localhost в Доверенные корневые центры сертификации \ Сертификаты в certmgr.msc вместе с dotnet dev-certs https --clean

Решение

В конце концов я понял, что certmgr.msc также показывает несколько сертификатов localhost под Личные \ Сертификаты в дополнение к тем, что под Доверенные корневые центры сертификации \ Сертификаты. Оказалось, что эти все нужно удалить.

Затем запустив dotnet dev-certs https -t, один раз создал и доверял новому сертификату разработки.

Я проверил, отладив приложение ASP.NET Core. Другой способ проверить - запустить dotnet dev-certs https --check --verbose.

Спасибо за это. Для моего мне нужно было пойти и удалить все сертификаты "localhost" в certmgr.msc -> Personal \ Certficates. Я перепробовал все остальные «штуки», и ничего не получалось, пока я не сделал это.

atariman5000 28.01.2021 18:58

+1. В папке Personal \ Certificates было много ненужных сертификатов localhost даже после запуска чистой. Спасибо.

hcd00045 06.04.2021 21:49
  1. dotnet tool uninstall --global dotnet-dev-certs --version (необходимая версия)
  2. установка инструмента dotnet --global dotnet-dev-certs
  3. dotnet dev-сертификаты https - доверие

Для получения дополнительных сведений посетите страницу выпуска GitHub здесь, а также официальную документацию Здесь.

Я прокомментировал следующую строку в файле Startup.cs, и у меня это сработало.

app.UseHttpsRedirection();

Комментарии не являются исправлениями

JCKödel 05.04.2021 23:33

комментирование этого может помочь разблокировать, в моем проекте это не было проблемой, пришлось вручную обновить properties / launchSettings.json, удалить оттуда https url "applicationUrl": "локальный: 5094", я знаю, что это не исправление, но при разработке Допустимо использовать только http

Oswaldo Zapata 07.05.2021 06:39

Я столкнулся с этой проблемой, и моим решением было перезапустить. Когда я это сделал, а затем снова открыл Visual Studio 2019, он попросил меня принять новый сертификат SSL. После этого я смог запустить свою программу.

Еще одна деталь - если вы обычно входите в систему как обычный (не администраторский) пользователь, НЕ запускайте команды dotnet dev-certs https из командной строки администратора если у вас есть отдельная личность на уровне администратора. Запустите их в обычной командной строке под обычным логином. Спроси меня, откуда я знаю. :-П

Если вы запустите эти команды из командной строки с повышенными привилегиями (используя явно отдельную учетную запись администратора), вы увидите следующее:

  • "dotnet dev-certs https --trust" будет работать нормально
  • "dotnet dev-certs https --check --verbose" сообщит вам, что все в порядке
  • VS Code продолжит выдавать ошибку «Невозможно настроить конечную точку HTTPS ...» при попытке запустить отладчик.
  • Вы по-прежнему будете получать предупреждения «Сертификат не надежен» из браузера.

Если вы видите эти проблемы, запустите команды dotnet dev-certs https из обычной командной строки. Исправил для меня. Надеюсь, это поможет кому-то, не тратя на это время, которое я потратил на это!

Если dotnet dev-certs https --clean не работает.

  1. Откройте Run и откройте mmc.exe
  2. Внутри MMC из меню «Файл» нажмите «Добавить / удалить оснастку».
  3. В окне добавления / удаления оснастки найдите сертификаты в доступных оснастках и добавьте их в выбранные.
  4. Выберите учетную запись пользователя
  5. В корне консоли -> Сертификаты текущего пользователя -> Личные нажмите Сертификаты.
  6. Вы увидите список выданных и установленных сертификатов для текущего пользователя. НЕ удаляйте и не изменяйте какие-либо сертификаты, о которых вы не знаете, удаляйте только сертификаты, относящиеся к самоподписанному локальному хосту ASP.NET Core.

Для меня удаление файлов в file:\\%APPDATA%\Microsoft\SystemCertificates\My\Certificates и запуск в cmd dotnet dev-certs https -t решило мою проблему.

Похоже, certmgr.msc не удалось удалить эти файлы, поэтому удаление их вручную решило проблему.

Anton 08.11.2021 11:52

Откройте БЕГАТЬ, затем введите mmc.exe, затем

сертификат двойного щелчка

Удалите сертификат localhost в обеих папках

затем откройте свой PowerShell

dotnet dev-certs https --clean
dotnet dev-certs https 
dotnet dev-certs https --trust

Другие вопросы по теме