Implement electronic signatures and cryptographic validation for Spanish government documents. Includes X.509 certificate handling, sign/verify operations, audit trails, and compliance with eIDAS regulations. Use when documents require legal digital signatures for corporate transactions.
from app.crypto.signer import DocumentSigner
signer = DocumentSigner(keycloak_manager=keycloak)
# Sign
signature = signer.sign_document(
document_id=123,
user_cert=user_certificate,
timestamp=datetime.utcnow()
)
# Verify
is_valid = signer.verify_signature(
document_id=123,
signature=signature,
user_cert=user_certificate
)
python scripts/crypto_utils.py --sign doc.pdf --key private.pem
python scripts/validate_certs.py --cert cert.pem