Application de signature de documents PDF avec cartes a puce LuxTrust.
- Signature numerique de PDF avec certificats LuxTrust
- Interface graphique Qt (PySide6)
- Support des signatures visibles avec image personnalisee
- Detection des signatures existantes a l'ouverture d'un document
- Persistence de la configuration de signature
- Ubuntu/Debian Linux (64-bit)
- Java 8 ou superieur
- Python 3.10+
Installer le middleware Gemalto/Thales pour les cartes LuxTrust:
# Telecharger depuis le site LuxTrust ou utiliser le package fourni
sudo dpkg -i Gemalto_Middleware_Ubuntu_64bit_7.5.0-b02.00.deb
sudo apt-get install -f # Installer les dependances manquantesLa bibliotheque PKCS#11 sera installee dans /usr/lib/pkcs11/libgclib.so.
pip install -r requirements.txtgit clone https://github.com/ceeeeb/pdfsignluxtrust.git
cd pdfsignluxtrust
# Installer les dependances Python
pip install -r requirements.txt
# Compiler le signer Java
cd java-signer
mvn clean package
cd ..python3 main.py- Ouvrir un document PDF
- Placer le rectangle de signature sur le document
- Configurer l'apparence (nom, raison, image)
- Cliquer "Signer le document"
- Entrer le PIN de la carte LuxTrust
# Lister les certificats
java -jar java-signer/target/luxtrust-pdf-signer-1.0.0.jar \
--list-certs --pin VOTRE_PIN --lib /usr/lib/pkcs11/libgclib.so
# Signer un PDF
java -jar java-signer/target/luxtrust-pdf-signer-1.0.0.jar \
--sign \
--input document.pdf \
--output document_signe.pdf \
--pin VOTRE_PIN \
--lib /usr/lib/pkcs11/libgclib.so \
--visible \
--name "Votre Nom" \
--reason "Approbation" \
--image /chemin/vers/signature.pngLa configuration de signature est sauvegardee dans:
~/.config/pdfsign-luxtrust/settings.json
pdfsignluxtrust/
├── main.py # Point d'entree
├── pdfsign/
│ ├── core/
│ │ ├── pdf_document.py # Wrapper PyMuPDF
│ │ └── signature_manager.py # Gestionnaire de signatures
│ ├── crypto/
│ │ ├── java_signer.py # Interface Python vers Java
│ │ └── pkcs11_manager.py # Gestion PKCS#11
│ ├── ui/
│ │ ├── main_window.py # Fenetre principale
│ │ ├── pdf_viewer.py # Visualiseur PDF
│ │ └── dialogs/ # Dialogues
│ └── utils/
│ ├── platform.py # Detection plateforme
│ └── settings.py # Persistence configuration
└── java-signer/
└── src/main/java/lu/pdfsign/
└── LuxTrustSigner.java # Signer Java avec iText 7
Si cette application vous est utile, vous pouvez soutenir son developpement:
MIT License