【问题标题】:How to make a code signed certificate for an exe program?如何为exe程序制作代码签名证书?
【发布时间】:2020-12-04 05:50:59
【问题描述】:

我处于一个非常棘手的情况,我会尽力解释它。我将用简明的编号步骤写出我的问题,最后,我会将其归结为一个或几个明确的问题。

  1. 我用python写了一个程序。 (未使用其他语言)

  2. 然后我使用 pyinstaller 将其转换为 .exe,这样我就可以与我的朋友分享它,而无需他们安装 python 或任何其他外部库。

  3. 当我的朋友尝试下载此 exe 时,他们的 Windows Defender 和其他防病毒软件出现了,并且无法让他们运行该程序。

  4. 我做了一些研究,发现我的 exe 没有添加发布者,因此 Windows Defender 阻止用户打开文件。

  5. 为了添加发布者,我了解到我需要对其进行数字签名并制作证书,因此我安装了一个名为 DigiCert 的程序,它可以将证书添加到 exe。

这就是问题所在,我不知道如何免费为我的程序制作代码签名证书。


所以为了浓缩所有这些,我的问题是:

A) 问题实际上是因为我的 exe 没有发布者这一事实吗?

B) 如果是这样,我如何创建一个代码签名证书来添加一个?


我希望你能理解这个问题,如果有任何 cmets 或回复,我将不胜感激。

非常感谢

【问题讨论】:

  • 这些证书并不便宜,如果你有注册公司,你通常会得到一个。如果几乎任何人都能从无到有地创建包含任何内容的证书并对其进行自签名,那么证书就毫无意义。所以第一个问题是你有公司吗?您真的想为您的公司购买证书吗?
  • 事情就是这样...我想要一种便宜且负担得起的方法来获得证书,但我不想为我的公司购买证书的所有麻烦和费用,做您知道总共要花多少钱吗?
  • 我的最后一个数字是每年 400 美元。
  • 这对我来说太多了!肯定有别的办法

标签: python exe pyinstaller windows-defender digicert


【解决方案1】:

默认情况下,您创建的应用程序没有签名证书。如果你想签名,你需要有一个有效的签名并用它来签署你的应用程序。您可以使用signtool 等官方工具对您的文件进行签名。

另一种方法是创建自签名证书并要求用户安装它,因此您的可执行文件对该用户有效。此外,您可以在应用程序的安装向导中自动安装证书。

附:有时可以绕过 Windows Defender 的警告。主要原因是当使用 PyInstaller 创建应用程序时,它会使用默认的预构建引导加载程序,这可能会导致警告。所以尝试重新构建bootloader 并重新创建您的应用程序。

【讨论】:

    猜你喜欢
    • 2013-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-03
    • 1970-01-01
    • 2013-04-21
    • 1970-01-01
    相关资源
    最近更新 更多