Подписание инсталляторов

Материал из SafenSoft Wiki
Перейти к: навигация, поиск

Подписание файла сертификатом

Для подписи файла сертификатом (для примера возьмем SFX-архив) необходима утилита SignTool (Windows), которая находится в комплекте Windows SDK. Для данного примера был использован Windows SDK 7.0.

ВАЖНО! Чтобы подписанный файл запускался как установщик, необходимо, чтобы название файла начиналось с «Setup…» или «Install…» (признак установщика). В случае Windows XP возможно добавление атрибута «Install» либо «Setup» файлу-установщику (правая кнопка мышки → Свойства → закладка «Описание»).

  1. Устанавливаем Windows SDK 7.0 (среди компонентов необходимо обязательно отметить .NET developer tools).
  2. Нажмите кнопку Пуск, выберите Все программы, Microsoft Windows SDK <версия> и наконец SDK Command Prompt или CMD Shell.
  3. В открывшемся окне вписываем команду:
signtool sign /f MyCert.pfx /p MyPassword MyFile.exe

«MyCert.pfx» – путь к вашему сертификату формата PFX

«MyPassword» – ваш пароль к данному сертификату

«MyFile.exe» – файл, который должен быть подписан

На данном скриншоте продемонстрировано, как это выглядит в CMD Shell Windows SDK 7.0

2.3.6.1.Shell.jpg

В результате проделанных действий CMD Shell выведет строку «Done Adding Additional Store» – это означает, что сертификат успешно добавлен. В свойствах архива это будет выглядеть следующим образом:

2.3.6.2.unknown app.jpg


Также необходимо добавить сертификат в хранилище сертификатов Windows на устройстве.

Для того, чтобы не устанавливать «вручную» сертификаты на каждом устройстве, в пакет установки включить утилиту сertutil.exe (от Microsoft) и сертификат (*.cer).

Командой утилиты addstore поместить сертификат в хранилище сертификатов Windows.

Утилита предоставляется вместе с письмом, содержащим данный документ (заархивирована, zik заменить на zip). Запросить утилиту можно по адресу support@safensoft.com. Подсказки по утилите можно просмотреть из командной строки стандартным /?