Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Эта статья поможет устранить предупреждения, возникающие для ненадежного сертификата после установки Microsoft Visual Studio 2015 с обновлением 3.
Исходная версия продукта: Visual Studio 2015
Исходный номер базы знаний: 3180222
Симптомы
Вы разработали веб-приложения с помощью протокола Hypertext Transfer Secure (HTTPS) с помощью версии выпуска Visual Studio 2015, обновления 1 или обновления 2. Однако после установки Visual Studio 2015 с обновлением 3 вы начнете получать предупреждения о недоверенном сертификате.
Причина
Во время первоначальной установки Visual Studio службы IIS (IIS) express устанавливает самозаверяющий сертификат в Certificates (Local Computer)\Personal\Certificates
папку, если сертификат еще не существует. При первом отладке веб-приложения, использующего протокол SSL, вам будет предложено установить этот сертификат в папку Certificates - Current User\Trusted Root Certification Authorities\Certificates
.
Во время обновления до Visual Studio 2015 с обновлением 3 служба IIS Express устанавливает новый самозаверяющий сертификат SHA256 в папку Certificates (Local Computer)\Personal\Certificates
. Однако, так как в папке уже установлен Certificates - Current User\Trusted Root Certification Authorities\Certificates
сертификат, Visual Studio не сможет установить новый сертификат SHA256 в папку Certificates - Current User\Trusted Root Certification Authorities\Certificates
.
Метод 1. Использование скрипта PowerShell
Примечание.
Это является предпочтительным методом.
Выполните следующий сценарий в интегрированной среде сценариев Windows PowerShell (ISE):
ipmo PKI $name = [GUID]::NewGuid() $cerFile = "$env:TEMP\$name.cer" $certs = Get-ChildItem Cert:\LocalMachine\My -DnsName localhost -SSLServerAuthentication | ? {($_.FriendlyName -eq 'IIS Express Development Certificate') -and ($_.SignatureAlgorithm.FriendlyName -ieq 'sha256RSA') -and ($_.EnhancedKeyUsageList.Count -eq 1)} if ($certs.Count -eq 0) { Write-Error 'Cannot find any SHA256 certificate generated by IIS Express. Please make sure that the latest version of IIS Express is installed.' } else { foreach ($cert in $certs) { Export-Certificate -Cert $cert.PSPath -FilePath $cerFile -Type CERT | Out-Null Import-Certificate -FilePath $cerFile -CertStoreLocation Cert:\CurrentUser\Root | Out-Null Remove-Item $cerFile -Force } Write-Host 'Successfully installed the certificate to Trusted Root Certification Authorities of the current user.' }
Нажмите кнопку "Да", когда появится следующее предупреждение:
После завершения выполнения скрипта в командном окне powerShell ISE появится следующее сообщение:
Сертификат успешно установлен в доверенных корневых центрах сертификации текущего пользователя.
Метод 2. Настройка компьютеров для доверия сертификату IIS Express
Откройте консоль управления Майкрософт, нажав кнопку "Пуск", введите команду "Запустить" и нажмите клавишу ВВОД. В диалоговом окне "Запуск" введите mmc и нажмите кнопку "ОК".
Добавьте оснастку для управления сертификатами для локального компьютера. Для этого выполните следующие шаги.
В меню Файл выберите Добавить или удалить оснастку.
В диалоговом окне "Добавление или удаление оснастки" выберите "Сертификаты" и нажмите кнопку "Добавить".
В диалоговом окне "Сертификаты" выберите учетную запись компьютера и нажмите кнопку "Далее".
В диалоговом окне "Выбор компьютера" выберите "Локальный компьютер" и нажмите кнопку "Готово".
В диалоговом окне "Добавление или удаление оснастки" снова выберите "Сертификаты" и на этот раз выберите учетную запись "Мой пользователь" в диалоговом окне "Сертификаты".
Экспортируйте сертификат SHA256 IIS Express из
Certificates (Local Computer)\Personal\Certificates
следующего:Откройте сертификат разработки IIS Express, убедитесь, что выбран сертификат SHA256. и нажмите кнопку "Копировать в файл".
В мастере экспорта сертификатов выберите "Нет", не экспортируйте закрытый ключ и нажмите кнопку "Далее".
На следующей странице мастера выберите в кодировке DER двоичный файл X.509 (). CER), а затем нажмите кнопку "Далее".
На следующей странице мастера выберите расположение на диске и следуйте остальным шагам, пока сертификат не будет успешно экспортирован.
Импортируйте экспортируемый сертификат в следующее расположение:
Certificates - Current User\Trusted Root Certification Authorities\Certificates
Для этого выполните следующие шаги.
Перейдите
Certificates - Current User\Trusted Root Certification Authorities\Certificates
в папку и нажмите кнопку "Действие", наведите указатель на все задачи и нажмите кнопку "Импорт".В мастере импорта сертификатов перейдите к экспортируемму сертификату (доверенным корневым центрам сертификации), а затем выберите "Поместить все сертификаты" в следующем хранилище.
Нажмите кнопку "Далее", убедитесь, что выбран правильный сертификат, а затем нажмите кнопку "Готово".
После успешного импорта самозаверяющего сертификата IIS вы больше не получите предупреждения о недоверенном сертификате во время разработки.