Skip to main content

Utilities to support code signing Windows executable files

Project description

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

winsign is a python module for signing and manipulating Authenticode signatures in PE and MSI files.

  • Works on Python 3.6 and up.

  • Free software: MPL2

Requirements

Most dependencies are specified in requirements/base.txt, however, currently you also need osslsigncode installed to perform signing. This utility can be fetched from your distribution’s package repository, or from e.g. https://github.com/theuni/osslsigncode

Installation

pip install winsign

CLI Usage

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

Future plans

  • Stop using osslsigncode for PE signatures

  • Refactor code so that osslsigncode functionality is in its own module

  • Add python support for MSI, then we can drop dependency on osslsigncode

Credits

History

2.0.0 (2019-10-17)

  • Breaking API: Some functions are now async. In particular, the top-level sign_file function is now an async function.

  • Restructured module layout

  • Added docs

1.3.0 (2019-09-12)

  • Fixed old style timestamp generation

  • Added signature verification code

  • Removed autograph support. Client code can implement their own autograph signing hooks for winsign.sign.sign_file

1.2.0 (2019-09-10)

  • Updated logging so that is_signed doesn’t produce error logs when files aren’t signed

1.1.0 (2019-09-05)

  • Added is_signed method to check if files are signed

1.0.0 (2019-08-30)

  • First release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

winsign-2.0.0-py3-none-any.whl (22.9 kB view details)

Uploaded Python 3

File details

Details for the file winsign-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: winsign-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 22.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.20.1 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.31.1 CPython/3.6.8

File hashes

Hashes for winsign-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9b0d15ed7b1edded2337c23d77c99fc1a9274e22a43abc03155403d1a36f65be
MD5 e5dba13474caa959d7fd6c1c939406a9
BLAKE2b-256 7165c2d85aa500a1c9e9e6d6d0d00e5b1f6a2ab5385a6273eaffdd42916c8641

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page