Registry / auth-security / endesive

endesive

JSON →
library2.19.3pypypi✓ verified 86d ago

endesive is a Python library for digital signing and verification of digital signatures in email (S/MIME), PDF (PAdES), and XML (XAdES) documents. Current version is 2.19.3, with a rapid release cadence. Requires Python >=3.0.

pip install endesive
INSTALL
IMPORT
SIG · ENDESIVE
E
endesive
auth-securitypythonv2.19.3
Install
Import
Disk
Pass rate
0/ 10
Env Coverage0 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v? · pip install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.95 runs
build_error
glibc
py 3.103.95 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

signer
from endesive import signer
verifier
from endesive import verifier
xades
from endesive import xades
from endesive.xades import ... (deprecated nested module)
In older versions, xades was a submodule; now it's a top-level import.
pdf
from endesive import pdf
smime
from endesive import smime

Generate key pair, sign data, and verify signature using endesive's signer and verifier modules.

from endesive import signer, verifier import cryptography.hazmat.primitives.asymmetric.rsa as rsa from cryptography.hazmat.primitives import serialization, hashes # Generate a key pair (example) private_key = rsa.generate_private_key(public_exponent=65537, key_size=2048) public_key = private_key.public_key() # Serialize private key (PKCS#8 PEM) pem_private = private_key.private_bytes( encoding=serialization.Encoding.PEM, format=serialization.PrivateFormat.PKCS8, encryption_algorithm=serialization.NoEncryption() ) # Sign data data = b"Hello, endesive!" signature = signer.sign(private_key, data, hashes.SHA256()) print(f"Signature: {signature.hex()}") # Verify verified = verifier.verify(public_key, data, signature, hashes.SHA256()) print(f"Verified: {verified}")
Debug
Known issues
breakingIn version 2.18.0, the PAdES signature validation API changed. Old verification code using `pdf.verify()` may break. Use `from endesive.pdf import verify` and check the new parameters.
fix
Update calls to `verify()` to match the new signature: pass the PDF bytes and signature dictionary.
affects: >=2.18.0
deprecatedThe 'oscrypto' backend was removed in 2.18.4. Code relying on oscrypto for cryptographic operations will fail.
fix
Remove oscrypto imports. Use 'cryptography' as the default backend.
affects: >=2.18.4
gotchaCertificate dates after 2040-01-04 may cause signature creation failures (fixed in 2.17.3). If you encounter 'timestamp out of range' errors, upgrade to >=2.17.3.
fix
Upgrade to version 2.17.3 or later.
affects: <2.17.3
gotchaGoogle Cloud KMS HSM signatures may flag as 'not intact' in older versions (fixed in 2.17.2). Upgrade to >=2.17.2 if using external HSM.
fix
Upgrade to version 2.17.2 or later.
affects: <2.17.2
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'endesive'
Library not installed or installed in wrong environment.
fix
Run 'pip install endesive' in the correct Python environment.
ImportError: cannot import name 'xades' from 'endesive'
Old import path 'from endesive.xades import ...' is no longer valid. XAdES functions are now directly under endesive.
fix
Use 'from endesive import xades' and call xades.sign() etc.
AttributeError: module 'endesive.signer' has no attribute 'sign'
Incorrect usage of signer module. The sign function is top-level in signer, not a method.
fix
Use 'from endesive import signer' and call 'signer.sign(key, data, hash_alg)'.
Upgrade
Version history
2.19.3latest on PyPI · released Jan 12, 2026
Audit
Dependencies
asn1cryptorequiredASN.1 parsing and encoding
cryptographyrequiredCore cryptographic operations (signing, hashing, key management)
oscryptooptionalLegacy cryptographic backend (deprecated in 2.18.4)
Agent activity
40 hits · last 30 days
node
38
OpenAI (training)
1
Resources
endesive — pip install endesive · libregistry