Visual Studio 2017 дает "Добавление сертификата в хранилище доверенных корневых сертификатов с ошибкой со следующим Errror"

Я пытаюсь запустить приложение ASP MVC с режимом SSL, установленным в true, и всякий раз, когда я запускаю приложение, я получаю приглашение доверять сертификату IIS Express SSL. После нажатия кнопки "Да" выдается сообщение об ошибке "Добавление сертификата в хранилище доверенных корневых сертификатов завершилось ошибкой со следующей ошибкой. В доступе отказано'. Я использую Visual Studio 2017 в режиме администратора. Я также удалил сертификат localhost, перейдя в MMC. Кто-нибудь еще сталкивался с этой проблемой.

Error Screenshot

СОЛН: Это то, что сработало для меня. удалил все локальные сертификаты. побежал ремонт IIS Express в Установка и удаление программ. Скопируйте и вставьте сертификат localhost из Personal/Certificate в Trusted Root Certificates, и он больше не будет жаловаться.

Ответ 1

Примечание: добавление решения ОП из вопроса в качестве ответа.

Это то, что сработало для меня. удалил все локальные сертификаты. побежал ремонт IIS Express в Установка и удаление программ. Скопируйте и вставьте сертификат localhost из Personal/Certificate в Trusted Root Certificates, и он больше не будет жаловаться.

Восстановление/переустановка IIS Express, по-видимому, фактически не решает эту проблему (начиная с IIS Express 10), реальное решение заключается в добавлении сертификата localhost в сертификаты Trusted Rood.

Полная информация о том, как это сделать, описана в этом блоге: https://blogs.iis.net/robert_mcmurray/how-to-trust-the-iis-express-self-signed-certificate

В итоге,

  • Откройте диспетчер сертификатов через "Управление сертификатами компьютера" на панели управления или запустив certlm в командной строке.
  • В разделе Личные> Сертификаты экспортируйте сертификат localhost и сохраните его на диск
    • не экспортируйте закрытый ключ! Просто экспортируйте открытый ключ.
  • В разделе Доверенные корневые центры сертификации щелкните правой кнопкой мыши Сертификаты и импортируйте только что экспортированный сертификат.

Ответ 2

Это сработало для меня, просто запустив CMD> certlm и удалив сертификат localhost внутри личной папки.

Ответ 3

Мое решение:

  • Установите флажок "Не спрашивайте меня снова"
  • Выберите Нет.

Это не подсказывало мне снова.

Ответ 4

После недолгой борьбы с этой проблемой (с использованием Win 10 и Visual Studio 2019 Community Edition версии 16.1.1) и пробуя различные решения, я обнаружил следующее:

  • по умолчанию локальный сертификат для IISExpress 10 устанавливается в: Сертификаты (локальный компьютер) → Личный

enter image description here

  • Восстановление IISExpress 10 (Программы → Программы и компоненты) создаст новый сертификат localhost также в: Сертификаты (локальный компьютер) → Личные

  • Затем экспортируйте этот сертификат, сохранив его в файл, используя:

enter image description here

Затем импортируйте этот сертификат в: Сертификаты (локальный компьютер) → Доверенные корневые центры сертификации

enter image description here

  • затем, как указал пользователь 2988031: удалить сертификат из сертификата (локальный компьютер) → Личный

Я также пытался использовать "dotnet dev-crts https --trust", но это не сработало для меня и всегда вызывало следующую ошибку:

enter image description here

Итак, чтобы обернуть это: убедитесь, что есть только 1 локальный сертификат, который находится в Сертификаты (локальный компьютер) → Доверенные корневые центры сертификации

Обновление: я только что понял, что после изменения веб-приложения несколько раз возникала другая ошибка, и мне пришлось снова пройти весь процесс, чтобы заставить его работать!

Ответ 5

Моя ошибка была на самом деле "сертификат разработчика asp.net не установлен", но я думаю, что решение ниже будет работать в этом случае. Выполните следующие команды в командной строке.

dotnet dev-certs https --trust --check
echo Trust check: %errorlevel%
dotnet dev-certs https --trust -ep "%APPDATA%\ASP.NET\https\TestCert.pfx" -p TestPassword
echo Trust/Export: %errorlevel%

Ссылка: https://github.com/Microsoft/DockerTools/issues/147#issuecomment-420433974