Как сделать сертификат с подписью кода для exe-программы?
Я нахожусь в очень сложной ситуации, и я попытаюсь объяснить ее как можно лучше. Я напишу свою проблему в виде кратких пронумерованных шагов, а в конце я сведу ее к одному или нескольким четким вопросам.
Я написал программу на питоне. (другие языки не используются)
Затем я использовал pyinstaller, чтобы преобразовать его в.exe, чтобы я мог поделиться им с друзьями без необходимости устанавливать python или любые другие внешние библиотеки.
Когда мои друзья попытались загрузить этот exe-файл, обнаружился их Защитник Windows и другие антивирусы, которые не позволили им запустить программу.
Я провел небольшое исследование и узнал, что к моему exe-файлу не был добавлен издатель, и поэтому Защитник Windows не позволял пользователям открывать файл.
Чтобы добавить издателя, я узнал, что мне нужно поставить цифровую подпись и сделать сертификат, поэтому я установил программу под названием DigiCert, которая могла бы добавить сертификат в exe.
Это проблема, я не знаю, как бесплатно сделать подписанный код сертификат для моей программы.
Итак, чтобы сжать все это, мой вопрос / вопросы:
A) Действительно ли проблема заключается в том, что у моего exe нет издателя?
Б) Если да, то как мне создать сертификат, подписанный кодом, чтобы добавить его?
Надеюсь, вы понимаете проблему, и я буду признателен за любые комментарии или ответы.
Большое спасибо
1 ответ
По умолчанию у создаваемых вами приложений нет подписанного сертификата. Если вы хотите подписать его, вам необходимо иметь действительную подпись и подписывать ею свои приложения. Вы можете использовать официальные инструменты, такие как signtool, для подписи файлов.
Другой способ - создать самозаверяющий сертификат и попросить пользователя установить его, и, таким образом, ваши исполняемые файлы будут действительны для этого пользователя. Также вы можете автоматизировать установку сертификата в мастере установки вашего приложения.
PS Предупреждение с Защитником Windows иногда можно обойти. Основная причина в том, что при создании приложения с помощью PyInstaller он будет использовать предварительно созданный загрузчик по умолчанию, что может вызвать предупреждение. Поэтому попробуйте пересобрать загрузчик и заново создать свое приложение.