2016-11-16 3 views
0

У меня есть самораспаковывающийся файл .exe, созданный с помощью 7zip (7z.sfx). Я подписал его с помощью значка. Сертификат подписи находится в моем хранилище Local Machine, а его корневой сертификат находится в папках «Доверенные корневые сертификаты» и «Доверенные издатели».Могу ли я подписать самораспаковывающийся exe с сертификатом без подписи кода EKU?

Я хочу, чтобы детали подписи появлялись в поле издателя приглашения UAC, но на нем все еще отображается «Неизвестный издатель». Кто-нибудь знает, что происходит? В сертификате отсутствует EKU «Подписание кода». Это вызовет проблему?

This person имел аналогичную проблему, без ответов. This question подробно описывает код, но он все еще не работает для меня.

+0

Возможный дубликат [Подписание файла для Windows EXE] (HTTP: // StackOverflow. com/questions/252226/signature-a-windows-exe-file) –

+0

Какие поля вы заполняли при создании сертификата? Есть ли у него набор OU? –

+0

@Thomas Weller Я пробовал все в вопросе, на который вы ссылались, и у меня все еще есть проблема. Да, мое поле OU установлено. – bbsimonbb

ответ

0

Хорошо, возможно, как я и подозревал, EKU для подписи кода имеет важное значение для UAC. Нет никакой проблемы с созданием подписи с ванильным сертификатом, но UAC будет игнорировать сигнатуры, сгенерированные без сертификатов подписи кода, даже если эти сертификаты находятся в Trusted Publisers, Trusted Root Authorities и т. Д.

eku для подписи кода 1.3 .6.1.5.5.7.3.3

следующая команда PowerShell получает вас самоподписывающемуся подписи кода сертификата ...

New-SelfSignedCertificate -certstorelocation cert:\localmachine\my -dnsname sby-port -type CodeSigningCert 
Смежные вопросы