espace-paie-odentas/lambda-odentas-pades-sign/certs/tmp.key
odentas b790faf12c feat: Implémentation complète du système Odentas Sign
- Remplacement de DocuSeal par solution souveraine Odentas Sign
- Système d'authentification OTP pour signataires (bcryptjs + JWT)
- 8 routes API: send-otp, verify-otp, sign, pdf-url, positions, status, webhook, signers
- Interface moderne avec canvas de signature et animations (framer-motion, confetti)
- Système de templates pour auto-détection des positions de signature (CDDU, RG, avenants)
- PDF viewer avec @react-pdf-viewer (compatible Next.js)
- Stockage S3: source/, signatures/, evidence/, signed/, certs/
- Tables Supabase: sign_requests, signers, sign_positions, sign_events, sign_assets
- Evidence bundle automatique (JSON metadata + timestamps)
- Templates emails: OTP et completion
- Scripts Lambda prêts: pades-sign (KMS seal) et tsaStamp (RFC3161)
- Mode test détecté automatiquement (emails whitelist)
- Tests complets avec PDF CDDU réel (2 signataires)
2025-10-27 19:03:07 +01:00

28 lines
1.7 KiB
Text

-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCtqzxiVkY/dp2R
MA5QEQ3VBpr/51rqT24F7zh6Jk9OksaBFCkUjKcEUiEAV7RWf3I3qZbtu/bF8nml
gqDqbqiGyscbNhThQVXqAg2INHDSgkAKnmFQkXoJAosUU7kSV9RfZ1lerpDW08sd
LT1RuafyN1CDHvdxCEGb/DNl3/REFEEBLOi6Iug+V2YHR3E45nIZ0Sb3JEa0KbrK
Oqa1raFosH6Z++wRzu6XOtzKdZROEl9sCEr0mYNSwDlHICjkjl9SFdsgS6toqtkz
omg9kavwTJXlZIAknoL6PdpnTtgN5tterqotmxNbHa6XPIuKPC+tKKyGkXk9FzAC
8LKWU/ElAgMBAAECggEABQhzRLkhAP1eF2gDtuEh/9ej/Oh5bNw+jmItmU2Vvs1v
UWivdUU8XS0avHE3qLsFCvYKibdbok4iw6sO5HEYExtCCA1/xeHGYUdmbA365D0D
/Du8sJrwHYOr8VnsvX8dLiahjKZRiH7iWqFn1JZ/o7++KkrfN4OeNfgAqvjM7GDS
SirCRfTsUtSiwnRZTbr6y4O92NAWNvaUuRTJmQjKNsHT09YFuR+Cn/1Y1QY5Cnet
PeQUFsjGyf/d4hfysun1Vzb1hF8pVkknQn7+/fiAaUnJOWI8jhLKgbEKT/gswCSX
J1ptJDGIDap46cFcq6zVLxffeLsRSz0pDoQw1YFpgQKBgQDs25rIKDddMNZ/J2x2
sbuORR9+jpeIYGA9eFidw6qIYsMhvXe1dJV9bh8KWgKkH5Xj8Dra3lwN5+4rLUOD
ip1HqGATn2X9C/BiiDrBCMSsjUGfXYUuKWYYXiQdb4qwL2RX5/g4aVuEhjJjSP8Z
nvHKGqDJ8vyqAKZmDABeWGumnwKBgQC7tE25FYRakAnKIwUo7ny0x3G6YRcF8KKe
OMBv3gb5Ha0DrYUU27HE9FbkAbPFFWYBE3lRUYZZQtnfaBvPRddei6LPfZpBavs9
BysRajaCEDmwVNpVXV62gEjVcTcGJT4rFTMMNliMJiYH4ajqdAgPmqp1BDTScg5m
9qztkzvluwKBgQDQlpkZ2ijfnenYMuzXHrCQmxkgSAz04gL/P2OzFCSzVV6I8SVi
HJilzHvzjs8yoEpNYTtDkn05Fd5uEb+aMVFPUN3DiiW0EnaRH222n7UsTH3VDfQC
chziKs3dSmS1wha5P6UecNJSxCfNvfRCKPLATHD7SEzwnf/scHdGntG2+wKBgFaX
GdfNJk6E7g8y0pmMUzkuXLenPHDADrTA531zxnG7j+oHbUIvCzYZpc/vPRgpA/Jx
ImEyI7Ef1tRp+ZJH3M+/yO7BOZz+FkKUAPk6r0SW6ZX/vuzsctnsGi1k2gZavfAw
CmmS1IxquNaf8kWeG23fYs0ykI+YkC5Nk37RkisrAoGBAOqsbP1uOOigJ/E0sDN8
JLyNMB/0vzqKdmEjIGnbrqy2ndVcO3zJT4rUQfGGROJ4cU0NFAMgbkQiG/JKwp2C
9rr3FnV8yWUGESC6H5VkFsY7CDI/Q0w56oF0F8RiT6+SUppWHCM40yOm4RCVrGnA
txg6jyqAt4Nz9x+pIgWvJGVa
-----END PRIVATE KEY-----