# 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` : ```bash # 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 : 1. Aller dans **Settings** > **Environment Variables** 2. Ajouter chaque variable : - `LAMBDA_PADES_URL` - `LAMBDA_TSA_URL` - `KMS_KEY_ID` - `TSA_URL` 3. Sélectionner **Production**, **Preview**, et **Development** 4. Redéployer l'application ## Workflow de Signature Complet 1. **Signature électronique** → Les signataires signent via l'interface web 2. **Déclenchement automatique** → Quand tous ont signé, webhook appelé 3. **Lambda PAdES** → Scellage du PDF avec signature qualifiée 4. **Lambda TSA** → Horodatage du document 5. **S3 Archive** → Stockage avec compliance lock (10 ans) 6. **Email de confirmation** → Notification aux signataires ## Gestion des Erreurs Si une Lambda échoue : - ❌ Le statut de la demande passe à `failed` - 🔔 Un événement `sealing_failed` est 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 : ```bash # 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