Microsoft windows hardware compatibility publisher nvidia

Does Microsoft know about » Microsoft Windows Hardware compatibility publishers » and is it affiliated to Microsoft at all ?

Microsoft suggests that the download of any 3rd party products (or even presumably Microsoft products) from non-Microsoft sites — especially sites like brothersoft or download or tucows or other mass download sites is risky and done so at your risk. There are far too many sites to check everything every day. One way is to check is to start here: http://www.microsoft.com/en-us/howtotell/default.aspx. If you think you’ve found a case of software piracy, see: http://www.microsoft.com/en-us/piracy/reporting/default.aspx. (NOTE: We will sometimes recommend 3rd party products where appropriate, but while almost certainly safe if suggested here by verified expert here and even with that recommendation of an expert here, YOU still bear the risk of using 3rd party products.)

The best thing to do aside from avoiding such sites and choosing to download only directly from reputable program producer websites (Microsoft, Sun, Adobe. ) with valid certificates and publishing information is to follow basic security procedures.

Let’s talk about security in general. Because my work entails more risks than the average user, I do more things more frequently than most would need. However, some of this might help (you could reduce the number or the frequency) and some of it applies to everyone (especially the bold section):

Here’s what I do (and it isn’t 100% but nothing is, and in some cases only catches things after they’ve already gotten into the system, but it’s a good process while remaining reasonable and they can all work together — as proven by the fact that I use them):

I use MSE for real-time protection and run scheduled daily quick scans with a scheduled bi-weekly full scan.

I update and periodically (every couple of weeks or so) run full scans with Malwarebytes: http://www.malwarebytes.org/ and SuperAntiSpyware: http://superantispyware.com/ and ESET online scanner: http://www.eset.com/us/online-scanner Get only the free versions. Any that also have paid versions include features like real-time protection that cannot be used along with MSE anyway (in these cases), so there’s no point in spending the money anyway.

I use WOT http://www.mywot.com/en/download to help identify safe and dangerous web sites.

I use Secunia PSI http://secunia.com/vulnerability_scanning/personal/ to make sure all my programs are updated and current (since updates often plug security holes in the software and thus can be important as many people never check and/or update their software unless prompted — and this way I don’t need to check everything since notifications and sometimes updates are automatic).

I always follow the following advice from Stephen Boots — MVP:

-Make sure that the Windows Firewall is enabled. No other firewall truly offers better protection or is needed. This one is perfectly fine.

-Make sure that all important/critical updates, including service packs for the operating system and programs are installed from Microsoft Update (Windows Update).

-Make sure Internet Explorer is at version 8 or 9 and updated with all patches.

-In Internet Explorer 8 or 9, use the SmartScreen Filter.

-Make sure that IE Internet Security settings are at least set to medium-high (default).

-Enable the pop-up blocker in IE.

-On Vista and Windows 7 make sure that User Account Control (UAC) ON and not running with elevated privileges.

-Make sure that Windows Automatic Updates are set to at least notify, but the preferred setting is to download and install automatically. If you update manually, be sure to update as soon as possible after being notified of available updates.

Читайте также:  Windows server core windows update

Make sure that installed applications, especially Adobe Acrobat, Adobe Flash, and Java are at their latest versions. Many vendors are regularly updating and patching for security holes. Secunia PSI mentioned above can help automate this a lot.

-Never click through links from unknown sources and use caution even if they are from a «trusted» source.

-Never open unsolicited email attachments.

-Practice safe web browsing. No adult sites, no peer-to-peer file sharing sites, no sites offering cracks or free software that you know can’t be true, lockdown Facebook to only Friends on EVERYTHING, use WOT mentioned above, use Task Manager to close all open instances of your browsers if you ever get a suspicious pop-up , double check all links in browsers and emails by hovering over them or otherwise checking to see if what they say and where they say they are directed match what is really there and I could go on but you get the idea.

-Always use a standard user account unless you have a specific need for an administrator account. Then switch, do the administrative task, and return to the standard account. This greatly limits the access of any type of infection of intrusion into your system since administrative access isn’t in place.

I hope this helps.

MVP(7/2012-6/2015),MCSE,MCSA,MCC2011,xCMM,xCAM,A+,Net+,Security Expert, xInfluencer. See Profile.

W10Prox64 Fast 16299rs3; Ofc Insider 1710/8613.1000; Edge,IE11,Chrome.

Как подписать драйвер цифровой подписью — или тернистый путь сертификации драйвера

Начиная с версии Windows 10 1607 корпорация Microsoft ввела обязательную сертификацию сторонних драйверов по программе Windows Hardware Compatibility Program (новость об этом в блоге msdn , пост на хабре ). Работает это нововведение на чистых установках Windows 10 соответствующей версии с включенным режимом Secure Boot .

Несоблюдение этого условия в лучшем случае (при отключенном Secure Boot) приведет к появлению предупреждения:

В худшем — к запрету на установку драйвера:

Несмотря на наличие официальной документации по прохождению процедуры сертификации, этот процесс может быть сопровожден рядом неочевидных на первый взгляд сложностей. Ниже приводится поэтапный разбор всех подводных камней на примере прохождения сертификации драйвера веб-камеры для 32 и 64-битной версий Windows 10 с обновлением 1803.

Краткий обзор всей последовательности действий:

  • Подготовка парка машин
  • Развертывание тестового фреймворка Windows Hardware Lab Kit
  • Создание и конфигурация тестового проекта
  • Прохождение списка тестов
  • Подготовка финального пакета с результатами
  • Обработка результатов на серверах Microsoft и получение подписи

Дебют или этап подготовки

Очевидным предварительным условием для сертификации является наличие следующего:

  • EV сертификата;
  • Подготовленных компонентов драйвера (файлы .inf, .sys, .map, .pdb);
  • Сгенерированного утилитой inf2cat (входит в состав Windows SDK ) cat-файла .

Файлы .sys и .cat должны быть подписаны EV сертификатом. Для этого используется утилита singtool из Windows SDK.

В нашем случае файлы .inf, .sys, .map, .pdb и .cat представлены в двух экземплярах для архитектур x86 и x64 соответственно.

Первым шагом к сертификации драйвера является прохождение серии тестов на совместимость оборудования для Windows. Для этих целей Microsoft предоставляет специализированный фреймворк Windows Hardware Lab Kit , ранее называвшийся Windows Hardware Certification Kit (HCK). А еще ранее этот же фреймворк носил имя Windows Hardware Logo Kit, что доставляет неудобство в поиске информации, так как по запросу HLK нередко выпадает устаревшая. С кратким обзором концепции тестирования можно ознакомиться по ссылке . В состав HLK входят серверная часть (включает в себя менеджер тестов HLK Controller и управляющую консоль HLK Studio ) и клиентская часть (HLK Client). Таким образом, HLK предполагает наличия тестового парка из как минимум двух машин.

Подготовка парка машин

Для серверной части HLK ограничением является необходимость развертывания на Windows Server 2012, Windows Server 2012 R2 или Windows Server 2016.

Начиная с релиза 1709 HLK поддерживает тестирование клиентов только соответствующей версии Windows 10 , предыдущие редакции кита предусматривали возможность работы с некоторым подмножеством обновлений этой операционной системы.

Читайте также:  Windows 10 блютуз наушники нет звука

Табличка поддерживаемых версий:

HLK version Supported version Accepted device/component Accepted system
1803 1803 – Client 1803 Client Device/Component 1803 Client Systems
1709 1709 – Client 1709 Client Device/Component 1709 Client Systems
1703 1703 – Client 1703 Client Device/Component 1703 Client Systems
1607 — Client 1607 Client Device/Component
1607 1607 – Client 1607 Client Device/Component 1607 Server Systems
1607 – Server, Azure Stack, SDDC 1607 Server Device/Component
1511 — Client 1511 Client Device/Component

Для организации тестирования нам понадобятся одна управляющая машина с серверной версией Windows и две тестовые машины с 32 и 64-битными версиями Windows 10 в одной сети. При наличии нескольких доступных клиентов одной битности их можно использовать совместно, проводя тестирование параллельно. Альтернативной конфигурацией, в случае тестирования драйвера для двух архитектур, может быть схема с одним контроллером и одним клиентом (предполагается смена ОС клиента между тестовыми сессиями). Однако в этом случае возможны проблемы с настройкой пулов тестовых машин и потерей результатов тестирования. Кто виноват и что делать в такой ситуации будет рассказано ниже.

Миттельшпиль или работа с HLK

Важно: рекомендуется использовать свежеустановленные версии Windows с английской локалью во избежание появления внезапных проблем с тестами. Вас предупреждали.

Дополнительно на всех машинах парка можно отключить энергосберегающий режим и приостановить установку обновлений Windows, дабы исключить прерывания процесса тестирования, который может продолжаться несколько часов.

Развертывание HLK

На контроллере устанавливаем свежескаченный HLK корректной версии. В нашем случае это HLK 1803, поскольку на клиентах будет установлена Windows 10 с обновлением 1803. Существует вариант установки одной HLK Studio, однако он полезен только для работы с финальными пакетами hlkx.

Так же на контроллере должен быть установлен EV сертификат, которым были подписаны .sys и .cat файлы. Он понадобится нам позже, на этапе подготовки пакета для сабмита в Microsoft.

Клиентская часть ставится на тестовые машины по сети с контроллера:

Установка драйвера

На каждую машину нужно установить наш подопытный драйвер. Для этих целей используется утилита hdwwiz (выполнить из Windows -> Run -> hdwwiz).

Стоит упомянуть о такой замечательной особенности Windows, как наличие кэша драйверов Driver Store. Если ранее в системе был установлен драйвера с версией, равной или новее той, которую вы пытаетесь поставить сейчас, существует вероятность, что Windows проигнорирует ваши попытки и возьмет копию из кэша. Для того, чтобы окончательно удалить предыдущий инстанс, можно воспользоваться приложением Driver Store Explorer .

Фильтры и плейлисты

Иногда с релизом нового обновления Windows или новой версии HLK часть тестов ломается. Результатом выполнения любого из них является ошибка, которая позже помешает нам подготовить финальный пакет hlkx. Для исключения сломанных тестов из общего списка тестирования, Microsoft выпускает специальные пакеты фильтров (HLK Filters). До начала процедуры тестирования необходимо скачать на контроллер архив самых свежих фильтров , распаковать их по пути

и запустить приложение UpdateFilters.exe, расположенное там же.

Важно: рекомендуется устанавливать фильтры до начала тестирования, так как их эффект применяется только к запущенным после установки тестам. Чтобы изменить результаты уже проведенных тестов, необходимо в проекте HLK Studio перейти на страницу Results и нажать кнопку Apply Filters.

Кроме фильтров Microsoft поставляет специализированные плейлисты (HLK Playlist), изменяющие состав базового списка тестов. Скачиваем архив с актуальными плейлистами и распаковываем его на контроллере.

Важно: плейлист может быть применен только к чистому проекту. Использовать его на серии пройденных тестов не удастся.

Информацию по выпуску новых фильтров и плейлистов можно найти в блоге Windows Hardware Certification

Подготовка пула тестовых машин

Пришло время подготовить пулы наших клиентских машин. Они нам понадобятся на этапе создания проекта. На вкладке Configuration все машины отобразятся в Default Pool. Нужно создать свои пулы (кнопка Create Machine Pool) и перетащить в них машины из пула по-умолчанию.

Важно: в одном пуле должны находиться машины с одинаковой битностью.

Поле Status у каждой машины будет Not Ready — нужно щелкнуть по ним правой кнопкой и изменить статус на Ready.

Важно: иногда студия выдает ошибку на попытку изменить статус машины.

Кроме прочего, такая ситуация появляется, когда меняется ОС на тестовом клиенте, например, в схеме с одним контроллером и одним клиентом. Решается это удалением машины из пула (пункт Delete Machine в контекстном меню), что заставляет контроллер создать новый инстанс клиента с правильными характеристиками в Defaul Pool. Внимание, удаление машины приводит к удалению всех ассоциированных с ней результатов тестирования. Во избежание напрасной потери результатов нескольких часов работы, перед удалением машины следует подготовить финальный hlkx пакет, включающий все пройденные тесты. О подготовке файла hlkx будет рассказано далее.

Читайте также:  Операционные системы windows особенности архитектуры

Подготовка и запуск проекта

На странице Projects выбираем Create project и задаем проекту произвольное имя. Активируем проект двойным кликом по нему. Каждый проект может тестироваться только на машинах одной битности.

На странице Selection выбираем пул машин, на котором будет производиться тестирование. В списке отобразятся устройства, подключенные к машинам из этого пула. Отмечаем устройства, которые будут тестироваться.

Переходим на страницу Tests. Перед запуском тестов применяем плейлист нужной версии, распакованный из архива ранее. Отмечаем тесты, которые будут запущены для устройства. Следует обратить внимание, что некоторые тесты проходят в ручном режиме (обозначены иконкой человечка в столбце Type) и требуют некоторого пользовательского ввода на стороне клиентской машины. Их лучше отложить на потом и сначала отметить все автоматические.

Несмотря на всю подготовительную работу, некоторые тесты все же могут завершаться с ошибками, несвязанными напрямую с качеством тестируемого драйвера. Некоторые из них успешно проходятся со второй попытки. Успех выполнения других, в том числе весьма продолжительные тесты Concurrent Hardware And Operating System , по результатам наблюдений может зависеть от аппаратной начинки клиента. Логи результатов тестирования — основной помощник выявления проблем. Посмотреть их можно на странице Results.

Финальный пакет — это файл с расширением .hlkx (zip-архив), который содержит результаты тестирования. Именно его нужно сабмитить в Microsoft через Partner Dashboard для получения цифровой подписи Microsoft Windows Hardware Compatibility Publisher.

При его создании необходимо указать:

  • Путь к директории с драйвером (в директории должны находиться inf/sys/cat файлы);
  • Путь к директории с отладочными символами (pdb/map).

После нажатия на «Create Package» потребуется отметить:

  • Целевые ОС;
  • Locales (отмечаем English).

Создание финального пакета hlkx

Можно создавать неподписанные hlkx, например, просто для последующего открытия в студии. Для сабмита в Microsoft файл hlkx необходимо подписать EV сертификатом. Проще всего импортировать сертификат в систему и выбрать его в процессе создания пакета (кнопка Create Packageна странице Package). Получаем файл hlkx с результатами пройденных тестов.

Мерджинг пакетов hlkx

Этот этап выполняется, если вы проходите тестирование для нескольких платформ. В нашем случае, тестирование проводится для x86 и x64.

Для конфигурации с одним контроллером и одним клиентом меняем битность тестовой ОС, повторяем шаги по настройке клиента, переинициализируем машину под соответствующий пул.

Создаем проект для следующей платформы и повторяем весь процесс тестирования.

На шаге создания пакета hlkx дополнительно вызываем меню Merge Package и указываем подготовленный hlkx пакет для платформы другой битности.

У нас готов hlkx пакет для отправки в Microsoft.

Эндшпиль или сабмит финального пакета hlkx в Microsoft

На панели слева выбирвает Drivers. Нажимаем Submit new hardware.

Заполняем поле Product name и загружаем наш пакет hlkx.

В разблокированной секции Certification заполняем поля тип устройства, дата анонса и опционально маркетинговое имя. Нажимаем Submit.

Через некоторое время получаем результаты сертификации. Подписанные компоненты драйвера можно скачать, нажав по кнопке Download signed files.

Конечный результат всех усилий:

На что следует обращать внимание

  • Проверить соответствие версии HLK версиям Windows на клиентах;
  • Настроить английскую локаль на клиентских машинах;
  • Установить фильтры перед созданием проекта;
  • Сохранить результаты тестирования в пакет hlkx перед удалением тестовой машины из пула;
  • Применить плейлист нужной версии до запуска тестов;
  • Смерджить пакеты hlkx, если тестирование проводится для нескольких платформ.

Roman Meyta

Read more posts by this author.

Легкая работа со списком — RecyclerView пример оптимизации, RendererRecyclerViewAdapter (часть 1)

В последнее время мне часто приходилось переписывать много адаптеров для списков, и каждый раз я брался за голову — в адаптере находилась бизнес-логика, сетевые запросы и роутинг приложения и многое другое. Все это очень

Оцените статью