Как сделать сертификат с подписью кода для exe-программы?

Я нахожусь в очень сложной ситуации, и я попытаюсь объяснить ее как можно лучше. Я напишу свою проблему в виде кратких пронумерованных шагов, а в конце я сведу ее к одному или нескольким четким вопросам.

  1. Я написал программу на питоне. (другие языки не используются)

  2. Затем я использовал pyinstaller, чтобы преобразовать его в.exe, чтобы я мог поделиться им с друзьями без необходимости устанавливать python или любые другие внешние библиотеки.

  3. Когда мои друзья попытались загрузить этот exe-файл, обнаружился их Защитник Windows и другие антивирусы, которые не позволили им запустить программу.

  4. Я провел небольшое исследование и узнал, что к моему exe-файлу не был добавлен издатель, и поэтому Защитник Windows не позволял пользователям открывать файл.

  5. Чтобы добавить издателя, я узнал, что мне нужно поставить цифровую подпись и сделать сертификат, поэтому я установил программу под названием DigiCert, которая могла бы добавить сертификат в exe.

Это проблема, я не знаю, как бесплатно сделать подписанный код сертификат для моей программы.


Итак, чтобы сжать все это, мой вопрос / вопросы:

A) Действительно ли проблема заключается в том, что у моего exe нет издателя?

Б) Если да, то как мне создать сертификат, подписанный кодом, чтобы добавить его?


Надеюсь, вы понимаете проблему, и я буду признателен за любые комментарии или ответы.

Большое спасибо

1 ответ

По умолчанию у создаваемых вами приложений нет подписанного сертификата. Если вы хотите подписать его, вам необходимо иметь действительную подпись и подписывать ею свои приложения. Вы можете использовать официальные инструменты, такие как signtool, для подписи файлов.

Другой способ - создать самозаверяющий сертификат и попросить пользователя установить его, и, таким образом, ваши исполняемые файлы будут действительны для этого пользователя. Также вы можете автоматизировать установку сертификата в мастере установки вашего приложения.

PS Предупреждение с Защитником Windows иногда можно обойти. Основная причина в том, что при создании приложения с помощью PyInstaller он будет использовать предварительно созданный загрузчик по умолчанию, что может вызвать предупреждение. Поэтому попробуйте пересобрать загрузчик и заново создать свое приложение.

Другие вопросы по тегам