跳转到主要内容

用于支持代码签名Windows可执行文件的实用工具

项目描述

https://img.shields.io/pypi/v/winsign.svg Documentation Status

winsign 是一个用于在PE和MSI文件中签名和操作 Authenticode 签名的Python模块。

  • 适用于Python 3.6及以上版本。

  • 免费软件:MPL2

要求

大多数依赖项已在 requirements/base.txt 中指定,但是,目前您还需要安装 osslsigncode 以执行签名。此实用工具可以从您的发行版的软件包仓库中获取,或从例如 https://github.com/theuni/osslsigncode

签名MSIX/APPX文件目前需要Mozilla的 msix-packaging 分支。

安装

pip安装winsign

CLI用法

usage: winsign [-h] --certs CERTS --key PRIV_KEY [-n COMMENT] [-i URL] -d
               {sha1,sha256} [-t {old,rfc3161}] [-v] [-q]
               infile [outfile]

positional arguments:
  infile            unsigned file to sign
  outfile           where to write output to. defaults to infile

optional arguments:
  -h, --help        show this help message and exit
  --certs CERTS     certificates to include in the signature
  --key PRIV_KEY    private key used to sign
  -n COMMENT        comment to include in signature
  -i URL            url to include in signature
  -d {sha1,sha256}  digest to use for signing. must be one of sha1 or sha256
  -t {old,rfc3161}
  -v, --verbose
  -q, --quiet

未来计划

  • 停止使用osslsigncode进行PE签名

  • 重构代码,使osslsigncode功能在其自己的模块中

  • 添加对MSI的Python支持,然后我们可以删除对osslsigncode的依赖

开发

强烈建议创建一个虚拟环境,然后运行
  • python setup.py develop

  • 修改源文件

  • 运行本地测试: tox

在成功完成r+合并到master分支后,您需要在PyPi上发布新版本。
  • 编辑setup.py来调整版本

  • 在本地生成.whl文件:python setup.py bdist_wheel

  • 文件将位于:./dist/winsign-{version}-py3-none-any.whl

  • (假设您有PyPi访问权限来上传)

  • 上传到PyPi:twine upload –verbose dist/winsign-{version}-py3-none-any.whl

致谢

历史

2.2.4 (2022-05-24)

  • 对rfc3161时间戳进行了细微更改

2.2.3 (2021-11-26)

  • 将timestampfile作为sign_file的参数,并使用-untrusted

2.2.2 (2021-10-20)

  • 将CAfile作为sign_file的参数

  • 对readme、历史和版本号进行了小的调整

2.2.0 (2021-10-13)

  • 增加了对osslsigncode 2.1+的支持(需要-CAfile CLI)

  • 更新了关于打包和所有权的文档

2.1.0 (2021-07-14)

  • 增加了对MSIX/APPX签名的支持

2.0.0 (2019-10-17)

  • 破坏性API:一些函数现在是异步的。特别是,顶层的sign_file函数现在是一个异步函数。

  • 重构了模块布局

  • 增加了文档

1.3.0 (2019-09-12)

  • 修复了旧的样式时间戳生成

  • 增加了签名验证代码

  • 移除了autograph支持。客户端代码可以为实现自己的autograph签名钩子

1.2.0 (2019-09-10)

  • 更新了日志记录,以便is_signed在文件未签名时不会产生错误日志

1.1.0 (2019-09-05)

  • 增加了is_signed方法以检查文件是否已签名

1.0.0 (2019-08-30)

  • 首次发布

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码分发

本发布没有可用的源代码分发文件。请参阅生成分发存档的教程

构建分发

winsign-2.2.4-py3-none-any.whl (27.7 kB 查看哈希值)

上传时间 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面