Подписание инсталляторов
Подписание файла сертификатом
Для подписи файла сертификатом (для примера возьмем SFX-архив) необходима утилита SignTool (Windows), которая находится в комплекте Windows SDK. Для данного примера был использован Windows SDK 7.0.
ВАЖНО! Чтобы подписанный файл запускался как установщик, необходимо, чтобы название файла начиналось с «Setup…» или «Install…» (признак установщика). В случае Windows XP возможно добавление атрибута «Install» либо «Setup» файлу-установщику (правая кнопка мышки → Свойства → закладка «Описание»).
- Устанавливаем Windows SDK 7.0 (среди компонентов необходимо обязательно отметить .NET developer tools).
- Нажмите кнопку Пуск, выберите Все программы, Microsoft Windows SDK <версия> и наконец SDK Command Prompt или CMD Shell.
- В открывшемся окне вписываем команду:
- signtool sign /f MyCert.pfx /p MyPassword MyFile.exe
«MyCert.pfx» – путь к вашему сертификату формата PFX
«MyPassword» – ваш пароль к данному сертификату
«MyFile.exe» – файл, который должен быть подписан
На данном скриншоте продемонстрировано, как это выглядит в CMD Shell Windows SDK 7.0
В результате проделанных действий CMD Shell выведет строку «Done Adding Additional Store» – это означает, что сертификат успешно добавлен. В свойствах архива это будет выглядеть следующим образом:
Также необходимо добавить сертификат в хранилище сертификатов Windows на устройстве.
Для того, чтобы не устанавливать «вручную» сертификаты на каждом устройстве, в пакет установки включить утилиту сertutil.exe (от Microsoft) и сертификат (*.cer).
Командой утилиты addstore поместить сертификат в хранилище сертификатов Windows.
Утилита предоставляется вместе с письмом, содержащим данный документ (заархивирована, zik заменить на zip). Запросить утилиту можно по адресу support@safensoft.com. Подсказки по утилите можно просмотреть из командной строки стандартным /?