Как автоматически подписать код, не устанавливая ничего на любую ОС? - PullRequest
0 голосов
/ 15 апреля 2019

Мы настроили процесс для ручной подписи нашего кода с помощью SIGNTOOL от Microsoft.Мы генерируем наш установочный пакет, используя NSIS, и пришло время начать автоматизировать процесс подписания кода, а также часть сценариев NSIS.

Мы не используем Windows SDK для разработки, поэтому предпочли бы не устанавливать это требование для наших разработчиков.У нас также есть люди на Mac и Linux;каждый может сделать установщик, и, как мы надеемся, создатель установщика подпишет код автоматически.Мы используем файлы PFX для подписи кода.

Итак, я пытаюсь выяснить, "как я могу подписать код без установки чего-либо, кроме, возможно, одного крошечного файла, чтобы он работал на всех трех основныхоперационки».Автоматизация с NSIS выполняется, но без Windows SDK из любой ОС - нет.

Ответы [ 2 ]

0 голосов
/ 16 апреля 2019

Signtool можно скопировать в любое место после установки Windows SDK. Просто скопируйте signtool.exe из "C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v8.0A \ bin \" или эквивалентного и включите его в файлы установщика в качестве утилиты.

Сценарий NSIS может затем использовать этот exe-файл для автоматической подписи установщика при работе в Windows. При работе на Mac должен быть переключатель, чтобы использовать вместо него инструмент кодирования, свойственный Mac.

Подписание деинсталлятора может быть немного сложнее, так как обычно оно не генерируется до времени установки; включено только для информации: https://nsis.sourceforge.io/Signing_an_Uninstaller

0 голосов
/ 15 апреля 2019

Подписание кода в любом случае является другим процессом во всех этих ОС, поэтому по определению нет ничего общего. Вы должны использовать инструменты, предоставляемые SDK. Единственным распространенным сертификатом может быть сертификат, который также отличается в iOS / Android / Windows, поскольку MS / Google / Apple хочет, чтобы вы использовали их собственные корневые сертификаты.

При этом вам не обязательно нужен SDK для подписи файла в Windows, есть API подписи .

...