--- id: signify version: "0.9.2" license: MIT license_treatment: permissive maintenance: aging --- # signify — Module to generate and verify PE signatures License: permissive · Maintenance: aging · Downloads: 111.6K/mo ## What it is and what it does Signify is a Python module for validating and inspecting Windows Authenticode signatures—the digital certificates embedded in or attached to Windows executables, MSI installers, and catalog files. It parses and verifies these signatures to confirm software authenticity and detect tampering, making it a tool for security professionals and malware analysts who need to inspect code signatures outside their normal Windows ecosystem. The library depends on cryptographic and certificate validation packages (certvalidator, asn1crypto, oscrypto, mscerts, typing_extensions) to handle the low-level signature verification. It supports PE executables (.exe, .dll), MSI files, catalog files (.stl, .cat), and any file signed through a catalog. Installation is straightforward via pip, with optional full support for additional file types. Use it for: - Verify that a downloaded Windows executable is legitimately signed by its publisher before execution. - Analyze malware samples to determine whether they carry valid or forged Authenticode signatures. - Batch-validate software distributions in enterprise environments to detect unsigned or tampered binaries. - Extract and inspect certificate chains and signature metadata from Windows PE files for forensic analysis. - Validate MSI installer integrity as part of automated security scanning pipelines. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Validates and inspects Windows Authenticode digital signatures embedded in or attached to executable files, MSI installers, and catalog files to verify software authenticity and integrity. Yes, if you need to validate Windows Authenticode signatures outside the Windows ecosystem or in automated security workflows. The low install friction, MIT license, and active maintenance make it a practical choice for security professionals and malware analysts. The aging status (226 days since release) suggests slower development pace but not abandonment; verify that its cryptographic dependencies remain current for your threat model. ## Install pip install signify uv add signify poetry add signify ## Installing signify Before you install: Low friction installation with a pure-Python wheel. The package is in beta status and aging (226 days since last release), but the repository remains active with recent commits and no archived status. License in practice: MIT license permits unrestricted use, modification, and distribution with minimal restrictions, making it suitable for both open-source and commercial security tooling. Quickstart: pip install signify from signify.pe import SignedPE pe = SignedPE('path/to/executable.exe') pe.verify() Requires Python 3.9 or later. MSI file support requires the full installation variant (pip install signify[full]). Verify before relying: - Whether the package can validate signatures against current Windows certificate chains or requires manual chain setup. - Performance characteristics when processing large executables or batch-validating many files. - Extent of support for non-standard or legacy Authenticode implementations. ## Package facts - License: MIT (permissive) - Python support: supports_current - Install friction: low - Maintenance: aging - Downloads: 111.6K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags authenticode signature verification, pe executable signature validation, windows code signing verification, digital signature inspection, malware analysis signature checking, authenticode catalog validation, executable integrity verification, code-signing, malware-analysis, windows-security [View on SkillFed](https://skillfed.io/packages/signify) · [View on PyPI](https://pypi.org/project/signify/)