Сбой добавления сертификата в корневое хранилище visual studio
Добавление сертификатов в доверенные корневые сертификаты операционной системы повышает риск легитимизации недоверенного центра сертификации.
По умолчанию это правило анализирует всю базу кода, но такое поведение можно настроить.
Описание правила
Это правило обнаруживает код, который может добавлять сертификат в хранилище сертификатов Доверенных корневых центров сертификации. По умолчанию хранилище сертификатов Доверенных корневых центров сертификации настроено с набором общедоступных центров сертификации, удовлетворяющих требованиям Программы корневых сертификатов Майкрософт. Так как все доверенные корневые центры сертификации (CA) могут выдавать сертификаты для любого домена, злоумышленник может выбрать для атаки слабый или уязвимый ЦС, который вы установили самостоятельно, и этот единственный ЦС подорвет безопасность всей системы.
Устранение нарушений
Не устанавливайте сертификаты в хранилище сертификатов Доверенных корневых центров сертификации.
Условия для отключения предупреждений
Не рекомендуется отменять это правило.
Настройка кода для анализа
Используйте следующие параметры, чтобы указать части базы кода, к которым будет применяться это правило.
Эти параметры можно настроить только для указанного правила, для всех правил или для всех правил в этой категории (безопасность). Дополнительные сведения см. в статье Параметры конфигурации правила качества кода.
Исключение определенных символов
Вы можете исключить из анализа определенные символы, например типы и методы. Например, чтобы указать, что правило не должно выполняться для какого-либо кода в типах с именем MyType , добавьте следующую пару "ключ-значение" в файл EDITORCONFIG в своем проекте:
Допустимые форматы имени символа в значении параметра (разделенные | ):
- Только имя символа (включает все символы с этим именем, любого типа и в любом пространстве имен).
- Полные имена в формате идентификатора документации для символа. Для каждого имени символа требуется префикс в виде символа, например M: для методов, T: для типов и N: для пространств имен.
- .ctor используется для конструкторов, а .cctor — для статических конструкторов.
Значение параметра | Итоги |
---|---|
dotnet_code_quality.CAXXXX.excluded_symbol_names = MyType | Соответствует всем символам с именем MyType . |
dotnet_code_quality.CAXXXX.excluded_symbol_names = MyType1|MyType2 | Соответствует всем символам с именем MyType1 или MyType2 . |
dotnet_code_quality.CAXXXX.excluded_symbol_names = M:NS.MyType.MyMethod(ParamType) | Соответствует конкретному методу MyMethod с заданной полной сигнатурой. |
dotnet_code_quality.CAXXXX.excluded_symbol_names = M:NS1.MyType1.MyMethod1(ParamType)|M:NS2.MyType2.MyMethod2(ParamType) | Соответствует конкретным методам MyMethod1 и MyMethod2 с соответствующими полными сигнатурами. |
Исключение определенных типов и их производных типов
Из анализа можно исключать определенные типы и их производные типы. Например, чтобы указать, что правило не должно выполняться в каких-либо методах типов MyType и их производных типов, добавьте следующую пару "ключ-значение" в файл .editorconfig своего проекта:
Допустимые форматы имени символа в значении параметра (разделенные | ):
- Только имя типа (включает все типы с этим именем, любого типа и в любом пространстве имен).
- Полные имена в формате идентификатора документации для символа с необязательным префиксом T: .
Значение параметра | Итоги |
---|---|
dotnet_code_quality.CAXXXX.excluded_type_names_with_derived_types = MyType | Соответствует всем типам с именем MyType и всем их производным типам. |
dotnet_code_quality.CAXXXX.excluded_type_names_with_derived_types = MyType1|MyType2 | Соответствует всем типам с именем MyType1 или MyType2 и всем их производным типам. |
dotnet_code_quality.CAXXXX.excluded_type_names_with_derived_types = M:NS.MyType | Соответствует конкретному типу MyType с заданным полным именем и всем производным от него типам. |
dotnet_code_quality.CAXXXX.excluded_type_names_with_derived_types = M:NS1.MyType1|M:NS2.MyType2 | Соответствует конкретным типам MyType1 и MyType2 с заданным полным именем и всем производным от них типам. |
Примеры псевдокода
Нарушение
В приведенном ниже примере псевдокода показан шаблон, обнаруживаемый этим правилом.
Следующая команда описывает создание cer файла Windows (т.е. Сертификата от надежного поставщика).
Проблема заключается в том, что при создании приложения в Visual Studio 2017 оно позволяет только через файл package.windows10.appxmanifest файл pfx. при обновлении ссылки на эту командную строку он не создает pvk файл, поэтому нужно добавить
дополнительные параметры командной строки, такие как /sv SubjectKeyFile, которые будут создавать результирующий файл pvk.
Однако даже используя эту ссылку командной строки:
В результате имплантации файла сертификата в Visual Studio возникает эта ошибка:
Я иду по ссылке и ничего не объясняет на самом деле, что происходит. Один человек комментирует, чтобы создать временный, который работает, но это неспецифический тестовый сертификат, который длится всего год.
Есть ли лучший способ создать скрипт с makecert? Как мне узнать, правильно ли в конечном итоге создается сертификат или нет? Дополнительная документация будет полезна, но я не нашел ничего другого.
Ответ, предоставленный @nico, имеет правильные утверждения, но заставил меня осознать, что в этом было нечто большее, чем я первоначально описывал. Поэтому я очистил название вопроса и вопрос, чтобы обеспечить лучший вопрос и последующий ответ.
Во-первых, нужно спросить себя, для чего они используют приложение? Будет ли приложение загружено в Microsoft Store или предназначено только для внутреннего использования.
В любом случае вы захотите отладить и разработать приложение. Отладка не требует установки сертификата, поэтому в этом смысле мы в безопасности.
Если вы используете приложение для своей организации или просто на локальном компьютере, вам понадобится доверенный сертификат.
Этот сертификат может существовать в нескольких различных сценариях.
Вам нужен самозаверяющий сертификат или Вам нужен выданный сертификат от центра сертификации CA, т.е. вашего предприятия или организации?
Я пойду по обоим сценариям. В любом случае протокол makecert искажается
Сценарий 1: если вам нужен самозаверяющий сертификат
Перейдите на powershell и используйте командлет New-SelfSignedCertificate pkiclient. что позволит вам создать комбинацию .cer и соответствующий закрытый ключ + открытый сертификат =.pfx, если вы создадите для сертификата + закрытый ключ. И вам нужно иметь закрытый ключ, т.е..pfx, чтобы связать и упаковать ваше приложение с Visual Studio и установить его в локальное хранилище приложений Windows (не путать с магазином Microsoft.)
Вот ссылки, по которым нужно следовать *** Прежде чем создавать сертификат, обязательно прочитайте 1А:
1А. *** Когда вы создаете New-SelfSignedCertificate, вы должны понимать, что сертификат должен быть создан очень специфическим способом. Это для самоподписанного или выданного СА сертификата.
В частности, сертификат должен обладать 2 свойствами
а). Должно быть расширение Basic Constraints, установленное в Subject Type = End Entity. Простыми словами это говорит о том, что. Когда вам выдан этот сертификат, вы не можете сделать так, чтобы сертификат был последующим центром сертификации, способным выдавать больше сертификатов. Другими словами. Это конец строки сертификата.
б). Значение расширения Enahnced Key Usage (EKU) установлено на подпись кода. Это предотвращает использование сертификата для каких-либо целей, кроме его предназначения. Что означает, что программное обеспечение получено от издателя программного обеспечения &&& Защищает программное обеспечение от изменения после публикации.
В деталях сертификата информация будет выглядеть так:
Эта информация была найдена очень случайно, а не в каком-либо конкретном порядке текущей документации:
1В. Таким образом, в конечном итоге для использования командлета New-SelfSignedCertifcate через powershell нужно было выполнить команду следующим образом:
Приведенная выше команда соответствует обоим критериям сертификата для подписи кода (хотя вместо использования свойства -type можно было бы выбрать oid расширения использования ключа с соответствующим типом подписи кода, т.е. oid подписи кода = 1.3.6.1.5.5.7.3 0,3)
Если вы запустите вышеупомянутую команду в powershell, вы создадите 2 вещи, которые теперь можно экспортировать.
A.) открытый сертификат B.) закрытый ключ + открытый сертификат, содержащийся в формате файла .pfx.
Теперь, когда у нас есть возможность экспортировать .pfx, вы можете создать пароль и экспортировать файл с закрытым ключом + certifcate.pfx.
Используя команду, вы запустите командлет в powershell Export-PfxCertificate:
Вот экспорт документации pfx:
На этом этапе у вас есть ключ, который работает с Visual Studio, и теперь вы можете упаковать свое приложение и создать файл .appx или файл appxbundle, который можно будет развернуть в хранилище Windows на локальных машинах.
Подробные инструкции можно найти здесь:
Сценарий 2. Если вам нужен доверенный сертификат от центра сертификации вашей организации
Здесь вы должны иметь в виду, что приведенный выше раздел является подходящим, но вам нужно будет оценить разницу между самозаверяющим сертификатом и доверенным корневым сертификатом CA и/или последующим CA.
Ну, вот один из способов понять это. Корневым сертификатом при его создании был сертификат SelfSigned. Тем не менее, он имеет возможность выдавать сертификаты другим для различных вещей. то есть авторизация на сервере или подписание кода. Подумайте, основные ограничения НЕОГРАНИЧЕННЫЕ. И он также может выдавать другие центры сертификации, которые могут выдавать сертификаты другим по ряду причин.
Это называется цепочкой сертификатов. Помните, что сертификат, который мы хотим для наших целей, является концом этой цепочки. Basic Constraints = LIMTED = 0 или false, что означает, что он должен быть подписан как End-endtity или Certificat Authroity = false. в другом слова, которые вы не можете выдать дальнейшие сертификаты по любой причине из этого сертификата, который был выпущен.
Так как это для приложения, которое просто необходимо установить и использовать. Это имеет смысл.
Итак, для следующего сегмента я собираюсь объяснить шаги для запроса сертификата у вашего центра сертификации через запрос сертификата. В мире Linux через openssl это называется .csr. В мире powershell это называется .req
Когда вы правильно указали параметры. конечный результат - это файл, который может быть прочитан веб-сайтом проверки openssl или сертификатом со взаимозаменяемым расширением .req или .csr
Powershell может создавать это с помощью командлета CertReq.
Вы бы просто использовали эту команду вместе с передачей файла .inf, который создаст ваш запрос сертификата .req
certreq -new TestReqConfig.inf MyRequest.req
Файл .inf будет содержать параметры для ключа и информацию о сертификате, как при создании сертификата new-selfsigned на основе приведенной выше информации.
INF файл будет выглядеть так:
Requesttype = PKCS10 позволяет это работать с декодером openssl csr. и все остальное объясняется через эти сайты:
Декодер работает, открывая файл создания и получая информацию, которая создает промежуточный
Я надеюсь, что эта информация поможет кому-то узнать о сертификатах и о том, как они используются при упаковке и создании приложений для магазина Windows.
СОЛН: Это то, что у меня сработало. удалил все сертификаты localhost. запустил ремонт IIS Express в «Установка и удаление программ». Скопируйте и вставьте сертификат localhost из Personal / Certificate в Trusted Root Certificates, и он больше не жаловался.
@LexLi спасибо, но мне бы хотелось, чтобы он работал с существующей системой. - sanjeev 21 ноя '17 в 13:06
Используя Visual Studio 2019 - он помещает сертификат localhost в Personal / Certificate. Просто нажмите клавишу Windows => Выполнить => MMC => вставьте сертификаты. Удалите сертификат localhost в разделе «Надежные корневые сертификаты», затем перетащите локальный хост из «Личный / Сертификат» в «Надежный». Благодаря другим ответам, но теперь это кажется немного проще. - LukeT 12 дек '19 в 0:48
У меня сработал удаленный сертификат localhost, а затем переустановка IIS Express. - kpr 21 мая '20 в 05:41
Примечание. Добавление решения OP из вопроса в качестве ответа.
This is what worked for me. deleted all localhost certificates. ran repair IIS Express in Add/Remove Programs. Copy and pasted localhost certificate from Personal/Certificate to Trusted Root Certificates and it didn't complain anymore.
Восстановление / переустановка IIS Express, похоже, на самом деле не решает эту проблему (начиная с IIS Express 10), реальным решением является добавление сертификата localhost в Trusted Rood Certificates.
- Откройте диспетчер сертификатов через «управление сертификатами компьютеров» на панели управления или запустив certlm в командной строке.
- В разделе Личные> Сертификаты экспортируйте сертификат localhost и сохраните его на диск.
- не экспортируйте закрытый ключ! Просто экспортируйте открытый ключ.
Это сработало для меня, просто запустив CMD> certlm и удалив сертификат localhost внутри личной папки.
Вы даже можете делать это в большинстве случаев прямо из управления пакетами. +1 за простейшее решение. - Lopsided 9 апр в 1:14
После того, как я неделю боролся с этой проблемой (используя Win 10 и Visual Studio 2019 Community Edition версии 16.1.1) и попробовав различные решения, я обнаружил следующее:
- по умолчанию сертификат localhost для IISExpress 10 устанавливается в: Certificates (Local Computer) -> Personal
Восстановление IISExpress 10 (Программы -> Программы и компоненты) создаст новый сертификат localhost также в: Сертификаты (локальный компьютер) -> Личный
Затем экспортируйте этот сертификат, сохранив его в файл, используя:
Затем импортируйте этот сертификат в: Certificates (Local Computer) -> Trusted Root Certification Authorities.
- затем, как указал пользователь 2988031 : удалите сертификат из сертификатов (локальный компьютер) -> Личный
Я также пытался использовать "dotnet dev-crts https --trust", но это не помогало мне и всегда приводило к следующей ошибке:
Итак, чтобы подвести итог: убедитесь, что существует только 1 сертификат localhost, который находится в разделе Сертификаты (локальный компьютер) -> Доверенные корневые центры сертификации.
Обновление: я только что понял, что после изменения веб-приложения несколько раз проявлялась другая ошибка, и мне пришлось снова пройти весь процесс, чтобы заставить его работать!
Вот мой первый ответ. Я решил проблему этим методом.
-
В типе сертификатов меню «Пуск» вы увидите параметр (Управление сертификатами компьютера), а не (Управление сертификатом пользователя). Просмотр изображения.
После этого перейдите в личные -> Сертификаты и найдите localhost
перетащите localhost в доверенные корневые центры сертификации -> Сертификаты
Теперь проблема со структурным списком решена, поскольку сначала он не позволял импортировать сертификаты пользователей.
Итак, теперь снова перейдите к запуску сертификата типа, но вместо управления сертификатом компьютера перейдите к диспетчеру пользовательских сертификатов и сделайте то же самое перетаскивание из личных в доверенные корневые центры сертификации -> папка сертификатов.
Примечание : если вы удалили localhost из личного, просто импортируйте его, сначала открыв проект Visual Studio на Chrome, вы увидите детали сертификата слева от адресной строки, экспортируете этот сертификат и импортируете этот сертификат в папку личных -> сертификатов.
Это сработало для меня, и я предпочел его, потому что он не предполагал полного удаления сертификатов, как некоторые другие ответы. - Caleb Seadon 16 апр в 3:23
Вот еще одно простое пошаговое решение на тот случай, если предоставленные ответы вам не понятны.
Шаг 1. Зайдите в Windows Пуск и введите Certificates , затем нажмите Manage computer certificates . Это откроет окно диспетчера сертификатов.
Шаг 2 : Теперь щелкните стрелку на >Personal папке, затем щелкните Certificates папку. Теперь выберите и удалите все сертификаты в папке.
Это сработало! Попробовав все вышеперечисленные ответы . наконец, удаление сертификата localhost сработало для меня. В моем случае на моей машине произошла смена домена, и ссылки повсюду перепутались. - matendie 8 февраля в 13:32
Если у вас есть эта проблема с Visual Studio 2019 и Win 10, удалите все сертификаты localhost в MMC: (1) cmd> запустить от имени администратора> введите «mmc» и нажмите Enter (2) File> Add / Remove Snap-in . (3) Выберите «Сертификаты» и нажмите кнопку «Добавить» (4) Выберите параметры «Учетная запись компьютера» и «Локальный компьютер» (5) Корневая папка консоли> нажмите и разверните «Сертификаты» (6) Удалите все сертификаты локального хоста в разных папках.
Затем в «Панель управления»> «Программы и компоненты» найдите в списке IIS 10.0 Express, щелкните правой кнопкой мыши и выберите «Восстановить». Это создаст новый сертификат localhost в папке «Personal» сертификата (в окне MMC, которое использовалось ранее - не забудьте обновить, чтобы увидеть этот новый сертификат)
Скопируйте (щелкните сертификат правой кнопкой мыши) этот сертификат, расположенный в папке «Личный», и вставьте его в папку «Доверенные корневые центры сертификации»> «Сертификаты».
УДАЛИТЕ сертификат localhost из папки «Личный». Должен быть только один сертификат localhost и находиться в папке «Доверенные корневые центры сертификации».
После этого все должно работать нормально, надеюсь, вы найдете это полезным
Visual Studio рассчитана в основном на установку на компьютер, подключенный к Интернету, так как многие ее компоненты регулярно обновляются. Но вы можете, выполнив несколько дополнительных действий, создать развертывание Visual Studio и в среде без подключения к Интернету.
Программа установки Visual Studio устанавливает только то содержимое, которое считается доверенным. Перед установкой она проверяет наличие сигнатур Authenticode для скачиваемого содержимого и наличие доверия для всего содержимого. Это позволяет обезопасить среду от атак, направленных на расположение загрузки. Таким образом, программа установки Visual Studio требует наличия актуальных стандартных корневых и промежуточных сертификатов Майкрософт на компьютере пользователя. Если компьютер обновлялся с помощью Центра обновления Windows, сертификаты для подписи обычно актуальны. Если компьютер подключен к Интернету, во время установки Visual Studio сертификаты могут быть обновлены для проверки подписей файлов. Если компьютер не подключен к сети, сертификаты следует обновить иным способом.
Обновление сертификатов в автономном режиме
В автономной среде установить и обновить сертификаты можно тремя способами.
Вариант 1. Установка сертификатов из папки макета вручную
При создании схемы сети или локального автономного кэша необходимые сертификаты скачиваются в папку Certificates. Затем их можно установить вручную, дважды щелкнув каждый файл сертификата и выполнив инструкции в мастере управления сертификатами. Если он предложит ввести пароль, оставьте это поле пустым.
Обновление. Для Visual Studio 2017 версии 15.8 (предварительная версия 2) или более поздней версии вы можете вручную установить сертификаты, щелкнув правой кнопкой мыши каждый файл сертификата, выбрав действие "Установить сертификат" и выполнив инструкции в диалоговых окнах мастера "Диспетчер сертификатов".
При создании схемы сети или локального автономного кэша необходимые сертификаты скачиваются в папку Certificates. Вы можете вручную установить сертификаты, щелкнув правой кнопкой мыши каждый файл сертификата, выбрав действие "Установить сертификат" и выполнив инструкции в диалоговых окнах мастера "Диспетчер сертификатов". Если он предложит ввести пароль, оставьте это поле пустым.
Вариант 2. Распространение доверенных корневых сертификатов в среде предприятия
Что касается предприятий с автономными компьютерами, на которых нет последних корневых сертификатов, администратор может использовать инструкции в статье Настройка доверенных корневых сертификатов и запрещенных сертификатов для их обновления.
Вариант 3. Установка сертификатов в рамках развертывания Visual Studio с помощью скрипта
При настройке развертывания Visual Studio в автономной среде на клиентских рабочих станциях с помощью сценариев необходимо выполнить следующие действия.
Скопируйте средство диспетчера сертификатов (certmgr.exe) в схему сети или расположение экземпляра локального кэша. Программа Certmgr.exe не является компонентом Windows, но доступна как часть пакета Windows SDK.
С помощью следующих команд создайте пакетный файл сценария:
Или создайте пакетный файл, который использует certutil.exe, входящий в состав Windows, со следующими командами:
Разверните пакетный файл на клиенте. Эту команду необходимо выполнить из процесса с повышенными правами.
Какие файлы сертификатов содержатся в папке Certificates?
- manifestRootCertificate.cer содержит:
- Корневой сертификат: Microsoft Root Certificate Authority 2011
- Корневой сертификат: Microsoft Root Certificate Authority 2010
Для Visual Studio Installer требуется наличие в системе только корневых сертификатов. Все эти сертификаты требуются в системах Windows 7 с пакетом обновления 1 (SP1), в которых не установлены последние обновления Центра обновления Windows.
Почему сертификаты из папки Certificates не устанавливаются автоматически?
В среде с подключением к Интернету в процессе проверки подписи используются Windows API для загрузки и добавления сертификатов. Этот процесс включает проверку того, что сертификат является доверенным и допустимым в соответствии с настройками администрирования. В большинстве случаев процесс проверки невозможно выполнить в автономных средах. Установив сертификаты вручную, вы предоставите администраторам предприятия возможность убедиться в том, что сертификаты являются надежными и соответствуют требованиям политики безопасности организации.
Проверка наличия необходимых сертификатов
Чтобы проверить установку системы, можно выполнить следующие действия.
Запустите mmc.exe.
а. В меню Файл выберите Добавить или удалить оснастку.
b. Дважды щелкните Сертификаты, выберите Учетная запись компьютера и нажмите кнопку Далее.
c. Выберите Локальный компьютер, нажмите кнопку Готово, а затем — ОК.
d. Разверните узел Сертификаты (локальный компьютер) .
д) Разверните узел Доверенные корневые центры сертификации и выберите Сертификаты.- Убедитесь, что в этом списке содержатся необходимые корневые сертификаты.
е) Разверните узел Промежуточные центры сертификации и выберите Сертификаты.
- Убедитесь, что в этом списке содержатся необходимые промежуточные сертификаты.
В меню Файл выберите Добавить или удалить оснастку.
а. Дважды щелкните Сертификаты, выберите моей учетной записи пользователя, нажмите кнопки Готово и ОК.
b. Разверните узел Сертификаты — текущий пользователь.
c. Разверните узел Промежуточные центры сертификации и выберите Сертификаты.- Убедитесь, что в этом списке содержатся необходимые промежуточные сертификаты.
Если имена сертификатов не содержатся в столбцах Кому выдан, их необходимо установить. Если промежуточный сертификат находился только в хранилище промежуточных сертификатов текущего пользователя, значит он доступен только для пользователя, выполнившего вход в систему. Его может потребоваться установить для других пользователей.
Установка Visual Studio
После установки сертификатов на клиентском компьютере вы можете установить Visual Studio из локального макета или развернуть Visual Studio из общей папки схемы сети на клиентском компьютере.
Поддержка или устранение неполадок
Иногда возникают проблемы. Если установить Visual Studio не удается, воспользуйтесь пошаговыми указаниями в статье Устранение неполадок при установке и обновлении Visual Studio.
Эта статья поможет устранить предупреждения, которые возникают для ненадежного сертификата после установки Microsoft Visual Studio 2015 с обновлением 3.
Оригинальная версия продукта: Visual Studio 2015
Исходный номер базы знаний: 3180222Симптомы
Причина
Во время начальной установки 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):
Сертификат успешно установлен в доверенные корневые центры сертификации текущего пользователя.
Метод 2. Настройка доверия компьютеров к IIS Express сертификата
Откройте консоль управления Майкрософт, нажав кнопку " Пуск" , введя "Выполнить" и нажав клавишу ВВОД. В диалоговом окне "Запуск" введите mmc и нажмите кнопку " ОК".
Добавьте оснастку для управления сертификатами для локального компьютера. Для этого выполните следующие действия:
В меню "Файл " щелкните " Добавить или удалить оснастку".
В диалоговом окне "Добавление или удаление оснастки " выберите " Сертификаты" и нажмите кнопку "Добавить".
В диалоговом окне оснастки " Сертификаты" выберите " Учетная запись компьютера" и нажмите кнопку " Далее".
В диалоговом окне "Выбор компьютера" выберите " Локальный компьютер" и нажмите кнопку " Готово".
В диалоговом окне "Добавление или удаление оснастки" снова выберите "Сертификаты" и на этот раз выберите "Моя учетная запись пользователя" в диалоговом окне оснастки "Сертификаты".
Экспортируйте сертификат IIS Express SHA256 из Certificates (Local Computer)\Personal\Certificates :
Откройте сертификат IIS Express разработки и убедитесь, что вы выбрали сертификат SHA256. и нажмите кнопку "Копировать в файл".
В мастере экспорта сертификатов выберите "Нет", не экспортируйте закрытый ключ и нажмите кнопку " Далее".
На следующей странице мастера выберите двоичный файл X.509 в кодировке DER (. Cer) и нажмите кнопку "Далее".
На следующей странице мастера выберите расположение на диске и выполните оставшиеся действия, пока сертификат не будет успешно экспортироваться.
Импортируйте экспортированный сертификат в следующее расположение:
Certificates - Current User\Trusted Root Certification Authorities\CertificatesДля этого выполните следующие действия:
Перейдите в папку Certificates - Current User\Trusted Root Certification Authorities\Certificates , а затем нажмите кнопку "Действие", наведите указатель на пункт "Все задачи", а затем нажмите кнопку "Импорт".
В мастере импорта сертификатов перейдите к экспортированному сертификату (доверенным корневым центрам сертификации), а затем выберите "Разместить все сертификаты" в следующем хранилище.
После успешного импорта самозаверяющего сертификата IIS вы больше не будете получать предупреждения о недоверенном сертификате во время разработки.
Читайте также: