Skip to main content

Module to generate and verify PE signatures

Project description

https://github.com/ralphje/signify/actions/workflows/test.yml/badge.svg https://codecov.io/gh/ralphje/signify/branch/master/graph/badge.svg https://readthedocs.org/projects/signify/badge/?version=latest

Signify, a portmanteau of signature and verify, is a Python module that provides validation and inspection of digital code signatures. These types of signatures are used to verify the authenticity and integrity of executable code, providing assurance about who published a piece of software and whether is has been altered since it was signed.

This library is mostly intended for malware analysts and security professionals to allow validation of these signatures outside their normal ecosystem and enable close inspection of the available data.

Currently, this library is only able to verify Windows Authenticode signatures, the specific Microsoft technology that is used in Windows to verify software integrity. Typically, Authenticode signatures are embedded into the file itself, without altering the functionality of the software. However, these signatures can also be provided by external Authenticode catalogs (.cat files), allowing virtually any file to be signed using this technology.

The following file types are supported, with support for other file types being expected:

  • PE executables (.exe, .dll and various other Windows executables)

  • MSI files (.msi)

  • Catalog files (.stl and .cat)

  • Any flat file that is signed through a catalog file

This module is compatible with Python 3.9+.

Installation

Installation is very simple:

pip install signify

Support for some file types (including MSI) requires:

pip install signify[full]

Documentation

Documentation is available at http://signify.readthedocs.io/en/latest/ or in the docs/ directory.

Thanks

Huge thanks to Germano Caronni for writing the original code in the verify_sigs project, on which this project was based.

A multitude of significant improvements and modifications was made on top of their original contribution, including improving PE signature support, adding support for various other files, and moving the original scripts into a modern Python module.

Project details


Download files

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

Source Distribution

signify-0.9.2.tar.gz (90.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

signify-0.9.2-py3-none-any.whl (88.4 kB view details)

Uploaded Python 3

File details

Details for the file signify-0.9.2.tar.gz.

File metadata

  • Download URL: signify-0.9.2.tar.gz
  • Upload date:
  • Size: 90.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for signify-0.9.2.tar.gz
Algorithm Hash digest
SHA256 e504d26184b4df3802104d1bdd9c5074c030246c9febf184acd694822d610287
MD5 e6c99b1837651e88a2c69adb1c0e554c
BLAKE2b-256 a7d4420073deaaf9caa50e0daa5a04d5247ae5a174f515b35f932ba8e6f7ce3a

See more details on using hashes here.

File details

Details for the file signify-0.9.2-py3-none-any.whl.

File metadata

  • Download URL: signify-0.9.2-py3-none-any.whl
  • Upload date:
  • Size: 88.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for signify-0.9.2-py3-none-any.whl
Algorithm Hash digest
SHA256 9bbe43a2198dc8f21ae6c3c41227b695b4c3b7c242e2d2b19c3af7af4f29d2c5
MD5 04df5075c86e3a75e02899b4d34da52a
BLAKE2b-256 b0218d4579d439b3c03ae5cf5fb5e0d9151d34b4d9e24a50876ea211c2f48d3b

See more details on using hashes here.

Supported by

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