API Vaults & Clés
Enregistrer des backends de vaults, les lier à des apps, et gérer le matériel de clés qu'ils détiennent.
Vue d'ensemble
Chaque route de cette page se trouve sous l'API de gestion authentifiée, à /api/…. Chaque requête porte un jeton porteur :
Authorization: Bearer <access-token>
Les requêtes s'exécutent dans le contexte de sécurité du tenant encodé dans le jeton — vous ne passez jamais d'identifiant de tenant, et vous ne voyez ou ne modifiez que les vaults et clés de votre propre tenant. Les actions sur les vaults et les clés sont en outre soumises à des permissions de vault : un appelant doit détenir la permission requise par la route (par exemple pour enregistrer un vault, synchroniser ses clés, ou effectuer une opération cryptographique avec une clé).
Voir la Vue d'ensemble de l'API pour les URL de base, le tenant et le modèle d'erreurs, et Authentification pour savoir comment obtenir un jeton.
Gestion des vaults
Un vault est un enregistrement stocké, propre à un tenant, décrivant une instance de backend (logiciel, MPC, HSM ou KMS cloud). Ces routes enregistrent des vaults, inspectent la santé et la performance du backend, et découvrent ou importent les clés qu'un backend détient déjà.
| Méthode + Chemin | Objet |
|---|---|
GET · POST /api/vaults | Lister les vaults · enregistrer un nouveau vault |
GET · PUT · DELETE /api/vaults/{id} | Obtenir, mettre à jour ou supprimer un vault |
POST /api/vaults/test-connection | Tester un backend avant de créer le vault |
GET /api/vaults/{id}/health · /version | Santé et version du backend |
POST /api/vaults/{id}/benchmark · /crypto-test | Benchmark de performance et vérification cryptographique aller-retour |
GET /api/vaults/{id}/keys · /remote-key-count | Clés d'un vault et nombre de clés sur le backend distant |
POST /api/vaults/{id}/sync-keys | Découvrir / importer les clés existantes du backend |
Liaison app–vault
Les applications sont liées aux vaults qu'elles peuvent utiliser ; une clé créée pour une app est liée à un vault spécifique.
| Méthode + Chemin | Objet |
|---|---|
GET /api/apps/{id}/vaults | Lister les vaults liés à une app |
POST · DELETE /api/apps/{id}/vaults/{vault_id} | Lier · délier un vault à une app |
Types de vaults & types de clés
Utilisez ces routes en lecture seule pour découvrir quels backends la plateforme prend en charge et quels types de clés chaque backend accepte, avant d'enregistrer un vault ou de créer une clé.
| Méthode + Chemin | Objet |
|---|---|
GET /api/vaults/types | Types de vaults (backends) disponibles |
GET /api/vaults/types/{type}/key-types | Types de clés pris en charge par un type de vault donné |
Clés
Les clés cryptographiques sont créées à l'intérieur d'un vault et référencées par vault_id. Ces routes gèrent le cycle de vie d'une clé — création, liste, obtention, rotation, et les transitions activation/désactivation — et effectuent des opérations cryptographiques avec elle. Le matériel de clé privée et symétrique reste dans le backend ; seules les clés publiques sont exportables.
| Méthode + Chemin | Objet |
|---|---|
GET · POST /api/keys | Lister les clés · créer une nouvelle clé |
GET · PUT · DELETE /api/keys/{id} | Obtenir, mettre à jour les métadonnées, ou supprimer une clé |
POST /api/keys/{id}/rotate | Faire tourner une clé vers une nouvelle version |
POST /api/keys/{id}/activate · /deactivate | Activer (Active) ou désactiver (Deactivated) une clé |
POST /api/keys/{id}/revoke | Révoquer une clé avec un motif |
GET /api/keys/{id}/public-key | Exporter la clé publique au format PEM |
POST /api/keys/{id}/encrypt · /decrypt | Chiffrer un texte en clair · déchiffrer un texte chiffré avec la clé |
GET /api/keys/{id}/apps | Lister les apps qui utilisent cette clé |
Il n'existe pas de route distincte enable / disable : activate fait passer une clé à l'état Active et deactivate la fait passer à l'état Deactivated. Seule une clé Active peut être utilisée pour des opérations cryptographiques.
Les types de clés post-quantiques (ML-KEM, ML-DSA, SLH-DSA) ne peuvent être créés que dans un vault adossé au Vault logiciel ou à Securosys. Utilisez GET /api/vaults/types/{type}/key-types pour confirmer qu'un backend accepte le type de clé dont vous avez besoin avant de créer la clé.