Как мне изменить сертификат 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) доверяют ему.
- Привяжите его к сайту.
Я задокументировал точные шаги в сообщение в блоге.