Где вы скачиваете signcode.exe и другие инструменты - PullRequest
13 голосов
/ 21 сентября 2009

Если вы решите подписать свой код, вам потребуется:

  • Signcode.exe
  • makecert.exe
  • cert2spc.exe
  • pvk2pfx.exe

Какое самое лучшее место для загрузки этих инструментов?

Есть ли способ сделать это без загрузки большого количества Microsoft Windows SDK?

Ответы [ 5 ]

15 голосов
/ 21 сентября 2009

Начните с Windows SDK . Это должно иметь большую часть того, что вы ищете.

Кроме того, SignCode.exe устарел после .NET 1.1. SignTool.exe является заменой.


Без загрузки SDK?

Как правило, существует только несколько инструментов SDK, которые можно распространять за пределами официального пакета от Microsoft. Они перечислены в файле redist.txt. В моей системе я обнаружил файл .NET SDK redist.txt в %ProgramFiles%\Microsoft.NET\SDK\v2.0 64bit (я предполагаю, что папка называется "v2.0" в системах x86). Вот что он сказал:

.NET Framework SDK files

Subject to the license terms for the software,
the following .EXE files may be distributed unmodified:

MageUI.exe
Mage.exe
Makecert.exe

Похоже, большинство этих файлов не подлежат распространению. Итак, еще раз, мой ответ скачать Windows SDK. Имейте в виду, что вы можете установить только подмножество инструментов, если хотите; программа установки позволяет вам выбрать / отменить выбор любого из компонентов (например, только инструментов разработки .NET).

6 голосов
/ 22 февраля 2014

Я только что установил Windows SDK для Windows 8. И так и не смог найти ни SignTool.exe, ни SignCode.exe.

Пока я не понял, что Microsoft изменила свой путь установки. Теперь он установлен в одном из следующих мест:

  • 64-разрядная версия 8.1: C:\Program Files (x86)\Windows Kits\8.1\bin\x64
  • 32-разрядная версия 8.1: C:\Program Files (x86)\Windows Kits\8.1\bin\x86
  • 64-разрядная версия 8.0: C:\Program Files (x86)\Windows Kits\8.0\bin\x64
  • 32-разрядная версия 8.0: C:\Program Files (x86)\Windows Kits\8.0\bin\x86

РЕДАКТИРОВАТЬ в Windows 10, двоичные файлы можно найти в:

  • C:\Program Files (x86)\Windows Kits\10\bin\x86
  • и т.д.
1 голос
/ 17 сентября 2012

Я попробовал описанный ниже метод, и он сработал, хотя он НЕ дает вам SignCode.exe (который устарел и заменен на SignTool.exe)

Вы можете получить SignTool.exe , установив просто Средства разработки Windows на C ++ из установки Visual Studio (моя древняя: 2005). Подробнее об этом @ Lindersoft.com .

Как преобразовать файл PFX / P12 в формат SPC / PVK

Экспортный сертификат с закрытым ключом.

Используйте мастер экспорта со следующими параметрами:

Export Private Key (Yes)

DO NOT TICK include all certificates in the certification path if possible

TICK enable strong protection

DO NOT TICK delete private key

Условие: OpenSSL 0.9.8 или выше. OpenSSL 1.x предпочтительнее.

Примечание. Если вы работаете в Windows, вы можете скачать OpenSSL здесь. В противном случае вы можете найти скомпилированные двоичные файлы непосредственно на веб-сайте OpenSSL или обратиться к функции управления пакетами вашей операционной системы.

Закрытый ключ (PVK)

Extract your Private Key from the PFX/P12 file to PEM format.
     openssl pkcs12 -in PFX_FILE -nocerts -nodes -out PEM_KEY_FILE

Note: The PFX/P12 password will be asked. This is the password you gave the file upon exporting it.

Convert PEM Private Key to PVK format.

OpenSSL 0.9.8 series:
     pvk -in PEM_KEY_FILE -topvk -out PVK_FILE

OpenSSL 1.x series:
     openssl rsa -in PEM_KEY_FILE -outform PVK -pvk-strong -out PVK_FILE

Note #1: In order to use pvk for OpenSSL 0.9.8 series, you must download PVK Transform.

Note #2: A PEM passphrase may be asked. This will be the password/passphrase that you will use to sign your code.

Сертификат издателя программного обеспечения (SPC)

Extract Certificate from P12/PFX file.
     openssl pkcs12 -in PFX_FILE -nokeys -out CERT_PEM_FILE

Convert Certificate to SPC format.
     openssl crl2pkcs7 -nocrl -certfile CERT_PEM_FILE -outform DER -out SPC_FILE

Примечание. Если вы экспортировали свой сертификат из другого браузера за пределами IE, то в CERT_PEM_FILE убедитесь, что ТОЛЬКО ваш сертификат существует, иначе подписывание кода НЕ РАБОТАЕТ!

Пример преобразования

ПВК openssl pkcs12 -in my_pfx_file.pfx -nocerts -nodes -out rsa.pem openssl rsa -in rsa.pem -outform PVK -pvk-strong -out mykey.pvk

SPC openssl pkcs12 -in my_pfx_file.pfx -nokeys -nodes -out cert.pem openssl crl2pkcs7 -nocrl -certfile cert.pem -outform DER -out cert.spc

Эта информация любезно предоставлена ​​ Komodo .

1 голос
/ 21 сентября 2009

Я полагаю, что первые три являются частью .NET Framework SDK , а последний входит в Windows Driver Kit .

Я не смог найти документ со списком pvk2pfx.exe в составе Platform SDK (теперь, по-видимому, Windows SDK), но я и подумал, что он изначально был.

0 голосов
/ 11 марта 2015

Шаг 1: Загрузить:

http://download.microsoft.com/download/A/6/A/A6AC035D-DA3F-4F0C-ADA4-37C8E5D34E3D/winsdk_web.exe

или

http://www.microsoft.com/en-us/download/details.aspx?id=8279

Шаг 2:

C:\Users\user1>"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Bin\signto
ol.exe"
...