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





У меня была похожая (но не совсем такая) проблема.
В версии 2.1 вам нужно настроить вашего сертификата.
Я так делаю сейчас полностью в appsettings.json.
Вы можете найти мою запись здесь:
Настройка самостоятельного хостинга приложения Kestrel с сертификатом для https (веб-сервер в Интернете)
Только посмотрите на решение ...
Эти инструкции от этот блог сработали для меня
В дополнение к этим шагам мне потребовался перезапуск VS
@AndrewBullock Обновлено, чтобы включить этот шаг, спасибо.
После этого, но все еще были проблемы - затем сделал то, что предложил @hikarikuen (stackoverflow.com/a/64776368/5101) - очистил личные сертификаты localhost из хранилища сертификатов Windows, а затем повторно запустил указанную выше команду, и все сработало.
У меня были те же проблемы, и очистка -> тогда мне помогла установка сертификатов (другой ответ здесь). Вы также можете выдать сертификат, как и для рабочего сервера. Очень полезно знать.
У меня была эта проблема в моей системе Windows 10 с использованием Visual Studio. Проблема, казалось, заключалась в том, что команда, используемая в графическом интерфейсе для очистки локальных сертификатов для HTTPS, давала сбой с сообщением об ошибке, которое я больше не могу воспроизвести.
Решением для меня было открыть certmgr для текущей учетной записи Windows и удалить все личные сертификаты localhost. Для меня там было ~ 20 сертификатов, потому что я много раз пытался их воссоздать. После удаления всех этих сертификатов я снова запустил свой .Net core HTTPS API, и все заработало!
Таким образом, откройте свой certmgr для текущего пользователя и очистите все личные / локальные сертификаты.
это сработало для меня после того, как другие ответы не сделали. Удалил два набора локальных хостов в личных и доверенных корневых сертификатах.
Я использую OSX, и dotnet dev-certs https --clean и sudo dotnet dev-certs https --clean у меня не работали. Наконец, я смог исправить это, выполнив следующие действия.
localhostdotnet 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 Я запускал как sudo, но он все равно не работал. Мне пришлось вручную удалить его из Связки ключей, чтобы решить проблему.
Ты чувак, спасающий жизнь.
Это решение работало для меня в OS X 10.14.6 с .NET Core 2.1 (.301)
Не уверен, что это поможет кому-то еще, но у меня была именно эта проблема на моем 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>();
});
Нет необходимости создавать локальную переменную, вы можете написать условие проверки в строке
У меня была такая же проблема. Проблема заключалась в том, что проект был с .net 4.6.1, а не с ядром .net.
В Windows dotnet dev-certs https --clean у меня не работает, мне приходится вручную удалять эти сертификаты localhost.
dotnet dev-certs https -tЯ запускаю это в командной строке. кстати, я использую Window 10 dotnet dev-сертификаты https dotnet dev-сертификаты https -t
Пожалуйста, будьте осторожны после использования этой команды, обязательно перезапустите Visual Studio.
Я надеюсь, что отдельный ответ подойдет, так как у меня нет представителя для комментариев. Вот решение, которое я нашел, о котором я не упоминал нигде на SO или других сайтах. Это характерно для диспетчера сертификатов Windows, не уверен, что другие операционные системы сталкиваются с аналогичными проблемами.
dotnet dev-certs https аргументыЯ пробовал различные комбинации dotnet dev-certs https с --trust, --clean, --verbose (который, похоже, не регистрировал никакой дополнительной информации) и --check (который так и не нашел сертификата)
Как было предложено в других ответах, я удалил все сертификаты 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. Я перепробовал все остальные «штуки», и ничего не получалось, пока я не сделал это.
+1. В папке Personal \ Certificates было много ненужных сертификатов localhost даже после запуска чистой. Спасибо.
Я прокомментировал следующую строку в файле Startup.cs, и у меня это сработало.
app.UseHttpsRedirection();
Комментарии не являются исправлениями
комментирование этого может помочь разблокировать, в моем проекте это не было проблемой, пришлось вручную обновить properties / launchSettings.json, удалить оттуда https url "applicationUrl": "локальный: 5094", я знаю, что это не исправление, но при разработке Допустимо использовать только http
Я столкнулся с этой проблемой, и моим решением было перезапустить. Когда я это сделал, а затем снова открыл Visual Studio 2019, он попросил меня принять новый сертификат SSL. После этого я смог запустить свою программу.
Еще одна деталь - если вы обычно входите в систему как обычный (не администраторский) пользователь, НЕ запускайте команды dotnet dev-certs https из командной строки администратора если у вас есть отдельная личность на уровне администратора. Запустите их в обычной командной строке под обычным логином. Спроси меня, откуда я знаю. :-П
Если вы запустите эти команды из командной строки с повышенными привилегиями (используя явно отдельную учетную запись администратора), вы увидите следующее:
Если вы видите эти проблемы, запустите команды dotnet dev-certs https из обычной командной строки. Исправил для меня. Надеюсь, это поможет кому-то, не тратя на это время, которое я потратил на это!
Если dotnet dev-certs https --clean не работает.
Для меня удаление файлов в file:\\%APPDATA%\Microsoft\SystemCertificates\My\Certificates и запуск в cmd dotnet dev-certs https -t решило мою проблему.
Похоже, certmgr.msc не удалось удалить эти файлы, поэтому удаление их вручную решило проблему.
если это не удается (как это было в моем случае, проверка ответа @ Stephen (stackoverflow.com/a/57301251/1796) - это сработало для меня.