Как подписать исполняемые файлы для исполнения на WEC2013 - PullRequest
6 голосов
/ 10 апреля 2019

Для платформы WEC2013 с загрузчиком безопасности Я создал самозаверяющий сертификат.Сертификат имеет атрибуты

Key Usage: Digital Signature (80)
Enhanced Key Usage: Code Signing (1.3.6.1.5.5.7.3.3)

Сертификат был экспортирован в файл ciroots.p7b и файл PFX.ciroots.p7b был добавлен в папку FILES платформы WEC2013, как описано здесь .Конструкция ОС, построенная на платформе, включает в себя копию файла ciroots.p7b.

. PFX был использован для подписи файла с помощью команды

signtool -f /path/to/PFX -p ThePassword example.exe

Это соответствует описание .Команда signtool изменила .EXE.Результирующий файл примерно на 1 КБ больше исходного файла.

После запуска дизайна ОС на цели и копирования подписанного .EXE на цель должна быть возможность выполнить программу.Но запуск завершается неудачно с сообщением:

Невозможно выполнить example.EXE

Что я пропустил в действиях, описанных в документации WEC2013?Как я могу подготовить исполняемые файлы для запуска в дизайне ОС с включенным LVMOD?

Хотя во время процесса подписания сообщений об ошибках не было, возможно, я пропустил некоторые важные атрибуты.Каковы требования к сертификату, который будет использоваться для подписания кода с помощью LVMOD?

Редактировать: В соответствии с комментарием Daniels Я использовал signtool для проверки подписанного файла.Сертификат был установлен на ПК в хранилище Trusted (меня спросили, хочу ли я доверять сертификату).Запуск signtool как при Использование SignTool для проверки подписи файла Я получил результаты:

 C:\Test>signtool verify  example.exe 
 SignTool Error: A certificate chain processed, but terminated in a root
         certificate which is not trusted by the trust provider.

 Number of errors: 1

 C:\Test>signtool verify /pa example.exe
 Successfully verified: example.exe

 C:\Test>

Первый сбой вызова, как указано в документации для signtool:

Если предыдущий пример не удался, возможно, подпись использовала сертификат подписи кода.По умолчанию SignTool используется для проверки политики драйвера Windows.

...