Как подписать exe и dll с помощью сертификата для подписи кода - PullRequest
8 голосов
/ 27 апреля 2010

(Я купил сертификат подписи кода у Thawte и сошел с ума от разочарования по поводу всего процесса.

Что я имею от них:

  • .spc / .p7b file
  • .pvk file

(ПРИМЕЧАНИЕ. У меня нет pfx-файла от них. Бог знает почему, но я уже неделю борюсь с их техподдержкой)

В любом случае я нахожу ссылки «помощь» на их сайте и в MS для signcode.exe, что бесполезно для меня, потому что я не могу найти этот exe на своей машине, однако у меня есть signtool.exe.

К сожалению, я озадачен параметрами командной строки , перечисленными на этом справочном сайте MS .

В частности, какие параметры я использую и какие значения? Я попробовал то, что мне показалось очевидным, но оно не работает вообще.

Я могу заставить мастер подписи работать, но мне нужно, чтобы он работал неинтерактивно в пакетном файле Hudson CI.

Не похоже, что это должно быть так сложно, но пока все это черная магия.

спасибо за любую помощь

1 Ответ

9 голосов
/ 27 апреля 2010

Во-первых, вы можете сгенерировать свой собственный файл pfx, используя инструмент pvk2pfx, описанный в http://msdn.microsoft.com/en-us/library/ff549703(VS.85).aspx

Что-то вроде

pvk2pfx -pvk cert.pvk -spc cert.spc -pfx cert.pfx -pi пароль

должен сделать трюк.

Во-вторых, signtool - это инструмент, который вам нужен. http://msdn.microsoft.com/en-us/library/aa387764(VS.85).aspx

signtool sign /?

Получает вам помощь, но основная команда, которую вы, вероятно, ищете, это

signtool sign / f cert.pfx / p пароль target.exe

Который подпишет target.exe. Это становится более сложным, если вы хотите поместить сертификат в хранилище сертификатов на машине (это бит CSP). Это действительно полезно, хотя для подписывания на многих машинах разработчиков или на машинах сборки, где вы хотите избежать включения сертификата в систему контроля версий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...