Поделиться через


Цифровые подписи Authenticode

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

Authenticode использует криптографические методы для проверки идентификации издателя и целостности кода. Он объединяет цифровые подписи с инфраструктурой доверенных сущностей, включая центры сертификации (ЦС), чтобы гарантировать пользователям, что драйвер исходит от указанного издателя. Authenticode позволяет пользователям проверять удостоверение издателя программного обеспечения путем цепочки сертификата в цифровой подписи до доверенного корневого сертификата.

Издатель программного обеспечения использует Authenticode для подписи пакета драйвера или драйвера , пометив его цифровым сертификатом. Сертификат проверяет удостоверение издателя и позволяет получателям кода проверить целостность кода. Сертификат — это набор данных, определяющих издателя программного обеспечения. ЦС выдает сертификат только после проверки удостоверения издателя программного обеспечения. Данные сертификата включают открытый криптографический ключ издателя. Сертификат обычно является частью цепочки таких сертификатов, что в конечном итоге ссылается на известный сертификационный центр, например VeriSign.

Подписывание кода Authenticode не изменяет исполняемые части драйвера. Вместо этого он выполняет следующие действия:

  • Внедренные подписи: процесс подписи внедряет цифровую подпись в неисключаемую часть файла драйвера. Дополнительные сведения см. в разделе "Внедренные сигнатуры" в файле драйвера.

  • Файлы каталога с цифровой подписью: процесс подписи требует создания хэш-значения файла из содержимого каждого файла каталога (CAT) в пакете драйвера. Это хэш-значение включается в файл каталога. Затем файл каталога подписан со встроенной подписью. Таким образом, файлы каталога — это тип отсоединяемой подписи.

Замечание

Комплект сертификации оборудования (HCK) включает тестовые категории для различных типов устройств. Список категорий тестов для комплекта лабораторий оборудования Windows (HLK) можно просмотреть в справочнике по API HLK. Если в этот список включена категория тестирования для типа устройства, издатель программного обеспечения должен получить подпись выпуска Windows Hardware Quality Labs (WHQL) для пакета драйвера. Однако если в HCK нет тестовой программы для типа устройства, издатель программного обеспечения может подписать пакет драйвера с помощью технологии Microsoft Authenticode. Дополнительные сведения см. в разделе "Подписывание драйверов для общедоступного выпуска".