- 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)
28 lines
1.7 KiB
Text
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-----
|