如何对使用 py2exe 生成的二进制文件进行数字签名?

How to digitally sign a binary produced with py2exe?

我使用 py2exe 0.9.2.2 将我所有的 python 脚本打包成 Windows 二进制文件。 我正在尝试将代码符号应用于二进制文件。直接使用 signtool 会产生损坏的二进制文件。

是否可以对使用 py2exe 生成的二进制文件进行签名? 怎么样?

这只是我自己找到的解决方案的提示,因为我在Whosebug上找不到具体的信息。

该方案适用于任何版本的py2exe。

可以申请签名证书,但需要将zip库从py2exe的exe加载器中分离出来。因此,在您的 py2exe 项目的 setup.py 中放置 "zipfile" 规范,即:

setup(name="name",
      # console based executables
      console=[],

      # windows subsystem executables (no console)
      windows=[myapp],

      # py2exe options
      zipfile = "myapp.lib", # this is the detached zip library code
      data_files = DATA,
      options={"py2exe": py2exe_options},
      )

你可以将你的“.pfx”证书应用到二进制加载器:

signtool sign /d "my_description" /du "www.mysite.eu" ^
   /f my_certificate.pfx ^
   /v myapp.exe