✨ Nouvelles fonctionnalités : - Configuration des URLs Lambda PAdES et TSA dans .env - Certificats Odentas Media SAS (CN=Odentas Seal, O=Odentas Media SAS) - Ajout champs /Name, /Reason, /Location dans signature PDF - Documentation complète des URLs Lambda (ODENTAS_SIGN_LAMBDA_URLS.md) 🔧 Améliorations : - Gestion stricte des erreurs dans webhook completion - Ne marque plus 'completed' si scellage échoue - Vérification des variables LAMBDA_PADES_URL et LAMBDA_TSA_URL - Build Docker multi-arch (ARM64 → AMD64) avec --platform 🔐 Certificats : - CA Root: CN=Odentas Media SAS Root CA, O=Odentas Media SAS - Certificat signature: CN=Odentas Seal, O=Odentas Media SAS, OU=Signature Electronique - Chaîne complète uploadée sur S3 (s3://odentas-sign/certs/chain.pem) ✅ Tests : - Lambda PAdES testée et fonctionnelle - Lambda TSA testée et fonctionnelle - Affichage 'Odentas Media SAS' dans Adobe Reader confirmé ⚠️ Niveau eIDAS actuel : SES (Signature Électronique Simple) TODO: Améliorer conformité PAdES pour niveau AES (voir TODO_PADES_CONFORMITE.md)
3.2 KiB
Odentas Sign - Configuration Lambda URLs
URLs des Lambdas de Production
Lambda PAdES Seal
Fonction: Scellage des PDFs avec signature électronique qualifiée (PAdES)
- Nom:
odentas-pades-sign - URL:
https://to6vdbnrcencifu3rlg5rygrua0hhdqc.lambda-url.eu-west-3.on.aws/ - Région: eu-west-3 (Paris)
- Variable d'environnement:
LAMBDA_PADES_URL
Lambda TSA Timestamp
Fonction: Horodatage des documents signés (RFC 3161)
- Nom:
odentas-tsa-stamp - URL:
https://fs5drdovby3tye4i3fmb27b3gi0zfqyw.lambda-url.eu-west-3.on.aws/ - Région: eu-west-3 (Paris)
- Variable d'environnement:
LAMBDA_TSA_URL
Configuration KMS
Clé KMS pour chiffrement des signatures:
arn:aws:kms:eu-west-3:292468105557:key/4d08be1d-a871-486e-bf70-f651f18c5f19
Variable d'environnement: KMS_KEY_ID
Serveur d'Horodatage TSA
URL du serveur TSA (Sectigo):
https://timestamp.sectigo.com
Variable d'environnement: TSA_URL
Configuration dans .env
Ajoutez ces lignes dans votre fichier .env :
# Odentas Sign - Lambda URLs
LAMBDA_PADES_URL=https://to6vdbnrcencifu3rlg5rygrua0hhdqc.lambda-url.eu-west-3.on.aws/
LAMBDA_TSA_URL=https://fs5drdovby3tye4i3fmb27b3gi0zfqyw.lambda-url.eu-west-3.on.aws/
KMS_KEY_ID=arn:aws:kms:eu-west-3:292468105557:key/4d08be1d-a871-486e-bf70-f651f18c5f19
TSA_URL=https://timestamp.sectigo.com
Déploiement sur Vercel
Pour déployer en production sur Vercel, ajoutez ces variables d'environnement :
- Aller dans Settings > Environment Variables
- Ajouter chaque variable :
LAMBDA_PADES_URLLAMBDA_TSA_URLKMS_KEY_IDTSA_URL
- Sélectionner Production, Preview, et Development
- Redéployer l'application
Workflow de Signature Complet
- Signature électronique → Les signataires signent via l'interface web
- Déclenchement automatique → Quand tous ont signé, webhook appelé
- Lambda PAdES → Scellage du PDF avec signature qualifiée
- Lambda TSA → Horodatage du document
- S3 Archive → Stockage avec compliance lock (10 ans)
- Email de confirmation → Notification aux signataires
Gestion des Erreurs
Si une Lambda échoue :
- ❌ Le statut de la demande passe à
failed - 🔔 Un événement
sealing_failedest loggé - 🚫 Le document n'est pas marqué comme
completed
Avant ce correctif, le système marquait le document comme completed même en cas d'échec du scellage, ce qui posait un problème de conformité.
Vérification des URLs
Pour vérifier que les Lambdas sont accessibles :
# Test Lambda PAdES
curl -X POST https://to6vdbnrcencifu3rlg5rygrua0hhdqc.lambda-url.eu-west-3.on.aws/ \
-H "Content-Type: application/json" \
-d '{}'
# Test Lambda TSA
curl -X POST https://fs5drdovby3tye4i3fmb27b3gi0zfqyw.lambda-url.eu-west-3.on.aws/ \
-H "Content-Type: application/json" \
-d '{}'
Sécurité
Les Function URLs sont actuellement configurées avec auth-type: NONE pour permettre l'accès direct depuis Next.js.
Pour une sécurité renforcée en production, considérez :
- Utiliser IAM authentication
- Ajouter une API Gateway avec authentification
- Implémenter un système de tokens/signatures