Как мне изменить сертификат IIS Express SSL для тех, которые будут работать с Chrome 58+?

Chrome 58+ поддерживает CN для сертификатов SSL, что означает (по крайней мере на моей машине), что на сайтах, размещенных в IIS Express, возникают постоянные предупреждения безопасности.

Как мне изменить сертификат IIS Express SSL для тех, которые будут работать с Chrom 58 +?

Ответ 1

Ответ, который дал Крис, решает проблему, спасибо! Поскольку у моей всей команды была эта проблема, я создал небольшую Powershell script, чтобы выполнить шаги в ответе Криса.

https://gist.github.com/camieleggermont/5b2971a96e80a658863106b21c479988

Запуск этого в повышенном режиме помогло.

Ответ 2

Вот как я это исправил. Может быть, есть более простой способ (я уверен, что есть!)

Шаг 1. Откройте Windows PowerShell (в режиме администратора) и создайте такой сертификат:

New-SelfSignedCertificate -DnsName "localhost", "localhost" -CertStoreLocation "cert:\LocalMachine\My"

Сохраните отпечаток.

Шаг 2. Откройте командную строку (в режиме администратора) и запустите эти команды.

Первый удалит текущий сертификат IIS Express для портов 44300-44399.

for /L %i in (44300,1,44399) do netsh http delete sslcert ipport=0.0.0.0:%i

Следующее добавит ваш новый сертификат в эти порты. Изменить отпечаток, очевидно.

for /L %i in (44300,1,44399) do netsh http add sslcert ipport=0.0.0.0:%i certhash=33459ADA4D5329673604F43A073B7F43084818A7 appid={214124cd-d05b-4309-9af9-9caa44b2b74a}

Приложение для IIS Express 10, я считаю. Возможно, вы захотите проверить, что ваше приложение IIS Express совпадает с моим первым. Для этого выполните следующие действия:

netsh http show sslcert

Шаг 3. Перезапустите IIS Express и Chrome, затем запустите один из ваших сайтов в Chrome.

Это снова даст вам предупреждение о безопасности. Перейдите на страницу, затем перейдите в настройки > расширенные настройки, HTTPS/SSL Управление сертификатами. Здесь экспортируйте сертификат из личного и импортируйте сертификат в доверенные корневые центры сертификации (я сделал это как .p7b), а затем перезапустил Chrome.

Повторите попытку сайта - теперь вы должны быть в безопасности.

Вы можете сделать все это за пределами Chrome в certmgr.

Изменить: альтернативные шаги для шага 3 выше, используя certmgr:

  • Нажмите клавишу win win и введите "certmgr", чтобы открыть диспетчер сертификатов Windows.
  • Разверните Сертификаты - Локальный компьютеp > Личные > Сертификаты и найдите сертификат, который вы только что создали (он должен быть выпущен на localhost и истекает через год с текущей даты).
  • Выберите копию и ctrl-c для копирования.
  • Разверните Сертификаты - Локальный компьютеp > Доверенные корневые центры сертификации > Сертификаты и ctrl-v для вставки.

Ответ 3

Я просто использую этот параметр, пока он не будет исправлен в Visual Studio:

хром://флаги/# позволяют нестабильным-Localhost

Он просто запрещает каждый раз разрешать исключение безопасности, но он все равно будет показывать SSL как недействительный (красный) в вашей панели браузера.

Ответ 4

Решение, предоставленное Крисом, делает трюк (спасибо!), но в конечном итоге это должно быть исправлено командой визуальной студии. Вы можете проголосовать здесь, чтобы обратить внимание на этот вопрос: https://developercommunity.visualstudio.com/content/problem/48596/visual-studio-2017-151-264037-crashing-during-code.html

Ответ 5

Более визуальный способ исправить это - использовать Jexus Manager для

  • Создать новый сертификат.
  • Пусть Windows (и Chrome) доверяют ему.
  • Привяжите его к сайту.

Я задокументировал точные шаги в сообщение в блоге.