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

J_Z*_*Zar 2 python code-signing py2exe code-signing-certificate codesign

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

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

J_Z*_*Zar 5

这只是我自己找到的解决方案的提醒,因为我无法在StackOverflow上找到具体信息.

该解决方案适用于任何版本的py2exe.

可以应用签名证书,但需要从py2exe的exe加载器中分离zip库.所以在你的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},
      )
Run Code Online (Sandbox Code Playgroud)

您可以将".pfx"证书应用于二进制加载器:

signtool sign /d "my_description" /du "www.mysite.eu" ^
   /f my_certificate.pfx ^
   /v myapp.exe
Run Code Online (Sandbox Code Playgroud)