Включить SSL в Visual Studio – не предлагается установить сертификат

c#
Вопрос: Я стараюсь следовать инструкциям в этом посте: http://www.codeproject.com/Tips/766918/Visual-Studio-Use-HTTPS-SSL-On-Web-Application-Pro. Я не получил сообщение с сообщением "Хотели бы вы доверять сертификату IIS SSL?" В хранилище сертификатов не появляется сертификат, как показано ниже: Что я делаю неправильно? Пожалуйста, ознакомьтесь с предупреждениями, которые я получаю от IE и Firefox при запуске приложения в Visual Studio здесь: Включить SSL

Вопрос:

Я стараюсь следовать инструкциям в этом посте: http://www.codeproject.com/Tips/766918/Visual-Studio-Use-HTTPS-SSL-On-Web-Application-Pro. Я не получил сообщение с сообщением “Хотели бы вы доверять сертификату IIS SSL?”

В хранилище сертификатов не появляется сертификат, как показано ниже:

enter image description here

Что я делаю неправильно? Пожалуйста, ознакомьтесь с предупреждениями, которые я получаю от IE и Firefox при запуске приложения в Visual Studio здесь: Включить SSL в Visual Studio

Лучший ответ:

Конфигурирование IIS Express для использования SSL состоит из многих шагов, которые немного сложны при первом использовании. Наиболее важными частями, которые нужно сделать, являются следующие:

  • создавать/получать/генерировать SSL-сертификат. Например, можно использовать MakeCert.exe для создания самозаверяющего сертификата. Посмотрите на %ProgramFiles(x86)%Windows Kits10binx64 или %ProgramFiles(x86)%Windows Kits8.1binx64 для утилиты MakeCert.exe. Сертификат должен быть импортирован в “доверенные корневые центры сертификации” или “сторонние корневые центры сертификации” дополнительно, чтобы доверять ему на локальном компьютере (или для локального пользователя).
  • IIS Express использует базовый HTTP.SYS операционной системы для обработки всех HTTP/HTTPS-запросов. Таким образом, нужно настроить его, например, используя netsh http add sslcert… и netsh http add urlacl… или используя утилиту «%ProgramFiles%IIS ExpressIisExpressAdminCmd.exe» с параметром setupFriendlyHostnameUrl.
  • настроить проект Visual Studio на использование HTTPS для отладки и создать привязку к HTTPS для IIS Express. Можно запускать IIS Express вообще без Visual Studio. Затем включение новой проблемы <binding> для веб-сайта должно быть включено в %USERPROFILE%DocumentsIISExpressconfigapplicationhost.co‌​‌​‌​nfig. Если вы используете IIS Express только внутри Visual Studio, то соответствующая привязка будет вставлена Visual Studio в файл $(solutionDir).vsconfigapplicationhost.config.

Я бы рекомендовал вам прочитать и следовать старой статье, опубликованной Hanselman в 2011 году. Информация по-прежнему виновата сегодня.

Ответ №1

Я добился определенного прогресса, выполнив следующие шаги:

1) Right click on the project name and select Properties 2) Set SSL Enabled to: True 3) Make a note of the SSL URL that is generated. In my case it is: https://localhost:44334/ 4) Right click on the project name and select: Properties 5) Set Project URL to the URL noted in step 3 i.e. https://localhost:44334/ 6) Open up a command prompt and run: «C:Program Files (x86)Windows Kits8.1binx64makecert.exe» -r -pe -n «CN=localhost» -b 01/01/2000 -e 01/01/2036 -eku 1.3.6.1.5.5.7.3.1 -ss my -sr localMachine -sky exchange -sp «Microsoft RSA SChannel Cryptographic Provider» -sy 12. 7) Go to mmc.exe and get the thumbprint of the certificate 8) Run the following from a command line: netsh http add sslcert ipport=0.0.0.0:44334 appid={214124cd-d05b-4309-9af9-9caa44b2b74a} certhash=2f11d025f2bc8802b45ceb7e03632eec333bc1ff. 2f11d025f2bc8802b45ceb7e03632eec333bc1ff is the thumbprint from step 8 and 44334 is the port from step 3. 9) Run: netsh http add urlacl url=https://localhost:44334/ user=Everyone 10) Launch the web app and I see this ( which looks a lot better):

enter image description here

11) Пойдите в MMC, найдите “личный” сертификат, а затем переместите его в: доверенные корневые центры сертификации.

Тогда это работает.

Все этапы, описанные выше, можно найти в этом сообщении: http://www.hanselman.com/blog/WorkingWithSSLAtDevelopmentTimeIsEasierWithIISExpress.aspx. Я подытожил шаги, которые я выполнил, если я (или кто-либо еще) захочет обратиться к нему в будущем – статья довольно длинная. Обратите внимание, что в моем случае: applicationhost.config был автоматически написан Visual Studio, тогда как в ссылке автор советует вам вручную записать в следующий файл: C:UsersIanDocumentsIISExpressconfigapplicationhost.config. Мой файл application.config был найден в папке.vsconfig.

Оцените статью
Добавить комментарий