--- id: endesive version: "2.19.3" license: unclear license_treatment: unclear maintenance: active --- # endesive — Library for digital signing and verification of digital signatures in mail, PDF and XML documents. License: unclear · Maintenance: active · Downloads: 177.6K/mo ## What it is and what it does Endesive is a Python library for creating and validating digital signatures across multiple document formats: PDF (CAdES-B format), S/MIME email messages, XML (XADES BES/T), and plain text with detached CMS signatures. It wraps cryptographic operations from the cryptography library and ASN.1 handling from asn1crypto, providing a unified interface for signing workflows that need to comply with standards like CAdES and XADES. The library can sign documents at creation time (for PDF via an embedded pyfpdf variant) or add signatures to externally generated files. It supports both software-based keys and hardware security modules via pykcs11. Encryption and decryption of S/MIME messages is also supported. The package is actively maintained and carries no known vulnerabilities. Use it for: - Sign PDF documents with a digital certificate for compliance and authenticity verification. - Create and verify signed S/MIME email messages for secure mail communication. - Generate XADES-compliant XML signatures for legal or regulatory document workflows. - Sign plain-text files with detached CMS signatures for non-binary document authentication. - Integrate hardware security module keys into document signing via pykcs11. - Encrypt and decrypt S/MIME messages in email processing pipelines. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Endesive signs and verifies digital signatures in PDF, S/MIME email, XML, and plain-text documents using cryptographic keys and certificates. Yes, if you need to sign or verify documents in PDF, S/MIME, XML, or plain-text formats. The package is actively maintained, has low install friction, carries no known vulnerabilities, and covers a broad range of signing standards. Verify the license metadata before use in proprietary contexts, and confirm HSM requirements if you plan to use hardware keys. ## Install pip install endesive uv add endesive poetry add endesive ## Installing endesive Before you install: Low friction install with a pure-Python wheel. Actively maintained as of 2026-07-28 with regular commits. Depends on seven runtime libraries including cryptography, lxml, and pykcs11; all are mature and widely available. License in practice: License treatment is unclear in the metadata, though the description states MIT licensing. Verify the actual LICENSE file in the repository before use in proprietary or restricted contexts. Quickstart: pip install endesive from endesive.cms import cms_sign # Sign a document with a certificate and key signed_data = cms_sign(document_bytes, cert, key) Requires a valid certificate and corresponding private key; pykcs11 support for hardware security modules needs additional system-level setup. Verify before relying: - Whether license_treatment 'unclear' reflects missing metadata or genuine ambiguity about MIT licensing stated in description. - Whether pykcs11 is required for all use cases or only for hardware security module integration. - Specific Python 3.x version support beyond the minimum 3.0 requirement. - Whether AES-128/192/256 CBC/OFB modes are all supported or only a subset. ## Package facts - License: not declared (unclear) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 177.6K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags digital signature PDF, S/MIME sign verify, XML digital signature, CMS document signing, certificate-based document signing, XADES signing, cryptographic document verification, digital-signatures, document-signing, cryptography [View on SkillFed](https://skillfed.io/packages/endesive) · [View on PyPI](https://pypi.org/project/endesive/)