如何对由py2exe生成的二进制文件进行数字签名? - python

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

是否可以签名由py2exe生成的二进制文件?
怎么样?

python大神给出的解决方案

这仅是我自己找到的解决方案的提醒,因为我在StackOverflow上找不到特定的信息。

该解决方案对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