python - 如何为exe程序制作代码签名证书?

标签 python exe pyinstaller windows-defender digicert

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

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

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

  3. 当我的 friend 试图下载这个 exe 时,他们的 Windows Defender 和其他防病毒软件出现了,并且不允许他们运行该程序。

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

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

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


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

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

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


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

非常感谢

最佳答案

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

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

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

关于python - 如何为exe程序制作代码签名证书?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63411108/

相关文章:

windows - 如何手动读/写.exe机器代码?

python - 我试图将 python 文件转换为 exe 文件,但它不起作用

python - LLVM IR 到 Python 编译器

Python使用用户输入创建子目录

python - 在哪里激活我的 django 应用程序中的代理设置

java - Launch4j异常错误

c - 如何使用命令提示符/C合并两个EXE文件

python - PyPy 和 PyInstaller

python - 加载 Python lib pyinstaller 时出错(不同尝试的详细描述)

python - sum 函数不是通用的。那么哪个是?