#python #exe #pyinstaller #windows-defender #digicert
#python #exe #pyinstaller #windows-защитник #digicert
Вопрос:
Я нахожусь в очень сложной ситуации, и я попытаюсь объяснить это так хорошо, как только смогу. Я изложу свою проблему в кратких пронумерованных шагах и в конце сведу это к одному или нескольким четким вопросам.
-
Я написал программу на python. (другие языки не используются)
-
Затем я использовал pyinstaller для преобразования этого файла в .exe, чтобы я мог поделиться им со своими друзьями без необходимости устанавливать python или любые другие внешние библиотеки.
-
Когда мои друзья попытались загрузить этот exe-файл, их Windows Defender и другие антивирусы обнаружили, что это не позволило им запустить программу.
-
Я провел некоторое исследование и узнал, что в моем exe-файле не был добавлен издатель, и поэтому Защитник Windows запретил пользователям открывать файл.
-
Чтобы добавить издателя, я узнал, что мне нужно подписать это цифровой подписью и создать сертификат, поэтому я установил программу под названием DigiCert, которая могла бы добавлять сертификат в exe.
Проблема в том, что я не знаю, как бесплатно создать сертификат, подписанный кодом, для моей программы.
Итак, чтобы свести все это к минимуму, мой вопрос / questions:
А) Действительно ли проблема в том, что у моего exe-файла нет издателя?
Б) Если да, то как мне создать сертификат, подписанный кодом, чтобы добавить его?
Я надеюсь, вы понимаете проблему, и я был бы признателен за любые комментарии или ответы.
Большое спасибо
Комментарии:
1. Эти сертификаты стоят недешево, и вы обычно получаете один, если у вас зарегистрированная компания. Нет смысла в сертификатах, если практически любой пользователь может создавать сертификаты с любым содержимым из ничего и самостоятельно подписывать их. Итак, первый вопрос: у вас есть компания? Вы действительно хотите пройти через покупку сертификатов для своей компании?
2. Вот в чем дело… Мне нужен дешевый и доступный способ получения сертификата, но я не хочу вдаваться во все хлопоты и расходы, связанные с покупкой сертификата для моей компании, вы представляете, сколько это может стоить в целом?
3. Моя последняя цифра составляла 400 долларов в год.
4. Это слишком много для меня! Наверняка должен быть другой способ
Ответ №1:
По умолчанию создаваемые вами приложения не имеют подписанного сертификата. Однако, если вы хотите подписать его, у вас должна быть действительная подпись. Вы можете использовать официальные инструменты, такие как signtool, для подписи ваших файлов.
Другой способ — создать самозаверяющий сертификат и попросить пользователя установить его; таким образом, ваши исполняемые файлы будут действительны для компьютера пользователя. Кроме того, вы можете автоматизировать установку сертификата в мастере установки вашего собственного приложения, чтобы исправить процесс установки сертификата.
P.S. Предупреждение с помощью Защитника Windows иногда можно обойти. Основная причина заключается в том, что при создании приложения с помощью PyInstaller оно будет использовать встроенный загрузчик по умолчанию, что может вызвать предупреждение. Поэтому попробуйте перестроить загрузчик и воссоздать ваше приложение заново.