| CN / Utilisateur | Établissement | Pays | Statut | Expiration | Installé | Navigateur |
|---|---|---|---|---|---|---|
| Chargement… | ||||||
| Déployeur | Rôle | Générés | Installés | Taux | Délai méd. (h) | Étabs | Pays | 🔴 | 🟠 | Échecs | Score |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chargement… | |||||||||||
| Série | CN | Généré par | Établissement | Expiration | Statut | Source | Installé | Actions |
|---|---|---|---|---|---|---|---|---|
| Chargement… | ||||||||
Génère un certificat X.509 client au nom d'un utilisateur. Le fichier PKCS#12 est téléchargé automatiquement. Les exports PEM sont disponibles après génération.
| Username | Nom complet | Département | Rôle | Statut | Dernière connexion | Actions | |
|---|---|---|---|---|---|---|---|
| Chargement… | |||||||
| Code | Nom | Priorité | Statut | Actions |
|---|---|---|---|---|
| Chargement… | ||||
| Sous-org | Pays | Région | Nom | Code | Statut | Actions |
|---|---|---|---|---|---|---|
| Chargement… | ||||||
| Nom | Vault | Root mount | Int mount | Rôle | Certs | Statut | Actions |
|---|---|---|---|---|---|---|---|
| Chargement… | |||||||
Génère un certificat X.509 pour un serveur (hostname, IP SANs). Téléchargement en PKCS#12 + export PEM (cert, clé privée, chaîne complète).
| Date | Utilisateur | CN | Établissement | Expiration | Fingerprint | Statut | Navigateur |
|---|---|---|---|---|---|---|---|
| Chargement… | |||||||
| Date | Fichier | Taille | Statut | Checksum | Disponibilité |
|---|---|---|---|---|---|
| Chargement… | |||||
| Date | Fichier | Lancé par | Statut | Vault | SQLite | Archive | Destinations | Sortie |
|---|---|---|---|---|---|---|---|---|
| Chargement… | ||||||||
Envoie 2 emails de test : un de succès et un d'échec, pour prévisualiser les modèles.
⚠ Opération critique — la base actuelle sera remplacée par celle de la sauvegarde.
Sélectionnez une sauvegarde dans l'onglet Sauvegardes et cliquez sur ↩ Restaurer.
La sauvegarde est déchiffrée côté serveur avec DB_ENCRYPTION_KEY, validée, puis
appliquée au prochain redémarrage (l'ancienne base est conservée en .pre-restore).
L'application se reconnecte au Vault existant via la configuration restaurée.
ℹ️ Périmètre : seul l'état applicatif (base SQLite) est restauré. Les CAs et certificats vivent dans le Vault et relèvent de sa propre reprise. Si le token Vault a expiré après restauration, ressaisissez-le dans Paramètres → Vault.
Pour une reprise sur une install neuve (pas encore d'admin), utilisez le script CLI.
Prérequis : la même DB_ENCRYPTION_KEY que l'installation d'origine — c'est la clé de reprise.
scp eyone-medical-backup-AAAA-MM-JJ.tar.gz.enc user@serveur:/tmp/ docker cp /tmp/eyone-medical-backup-....tar.gz.enc certportal-backend:/app/data/
docker exec -e DB_ENCRYPTION_KEY=<hex64> certportal-backend \ node scripts/restore-backup.js /app/data/eyone-medical-backup-....tar.gz.enc docker compose restart backend
Déchiffre (AES-256-GCM), vérifie l'intégrité + la clé, dépose la base ; le redémarrage l'applique. L'app se reconnecte au Vault existant.
# découper la clé (une fois) : N parts, seuil K docker exec -e DB_ENCRYPTION_KEY=<hex64> certportal-backend node scripts/key-split.js 5 3 # restaurer avec K parts (aucune clé en clair) docker exec certportal-backend node scripts/restore-backup.js \ /app/data/backup....tar.gz.enc --shares <part1> <part3> <part5> docker compose restart backend
Mode scellé au boot : retirez DB_ENCRYPTION_KEY et fournissez KEY_SHARES=part1,part2,part3 — la clé est reconstituée en mémoire au démarrage.
Découpez la clé en N parts (seuil K) via Shamir : K parts suffisent à la reconstruire, K‑1 n'apprennent rien. À distribuer à des gardiens distincts, sur des canaux séparés.
DB_ENCRYPTION_KEY et ajoutez KEY_SHARES=part1,part2,part3
(≥ K parts) à l'environnement du backend, puis redémarrez. Au boot, la clé est
reconstruite en mémoire — la source affichée ci‑dessus passera à « shares ».
Ces URLs sont insérées dans les emails automatiques envoyés aux utilisateurs et administrateurs. Définissez l'URL complète (ex: https://pki.eyone.net).
iss du token JWT Keycloak.localhost. Laissez vide si non nécessaire.Le test SSO complet se fait via le bouton "Se connecter via Keycloak" sur la page de login.
Après configuration, déconnectez-vous, sélectionnez votre organisation, et cliquez sur le bouton SSO.
sophie.admin → rôle admin
pierre.dupont → rôle user
amina.test → rôle user
Chargement…
IdP SimpleSAMLphp :
http://localhost:8887/simplesaml/ — admin / 123user1 / user1pass · user2 / user2pass