Utilisation des sentinelles Anonymes
Explication de l'objet Sentinelle anonyme
Objet public (clé publique)
- id: Identifiant unique de la sentinelle.
- key_size: Taille de la clé de chiffrement, qui peut être "KYBER-512" ou "KYBER-1024" en fonction du niveau de licence.
- public_key: La clé publique de chiffrement.
- sum: La somme SHA-512 de la clé de chiffrement, utilisée pour vérifier l'intégrité de la clé.
{
"id": "string",
"key_size": "string",
"public_key": "string",
"sum": "string"
}
Objet privé (clé secrete)
- id: Identifiant unique de la sentinelle.
- key_size: Taille de la clé de chiffrement, qui peut être "KYBER-512" ou "KYBER-1024" en fonction du niveau de licence.
- secret_key: La clé secrete de chiffrement.
- sum: La somme SHA-512 de la clé de chiffrement, utilisée pour vérifier l'intégrité de la clé.
{
"id": "string",
"key_size": "string",
"secret_key": "string",
"sum": "string"
}
Creation d'une sentinelle anonyme
Creation par user ROLE_USER
Pour créer une sentinelle anonyme, un utilisateur avec le rôle ROLE_USER
doit envoyer une requête POST avec la liste des clusters.
remarque
Si la liste des clusters est vide, la sentinelle ne sera accecible que par le createur
curl -X POST https://<BASE_URL>:<PORT>/anonymous_sentinels \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <access_token>" \
-H "X-NONCE: <RANDOM_NONCE>" \
-H "X-FINGERPRINT: <UNIQUE_DEVICE_ID> \
-d '{
"clusters": ["<CLUSTER_ID_2>", "<CLUSTER_ID_2>", ...]
}'
Creation publique
Un endpoint public permet la creation de sentinelles anonyme. en retour, la clé publique sera transmise
curl -X POST https://<BASE_URL>:<PORT>/anonymous_sentinels/public \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <access_token>" \
-H "X-NONCE: <RANDOM_NONCE>" \
-H "X-FINGERPRINT: <UNIQUE_DEVICE_ID> \
-d '{
"application_id": 0
}'
Récupération d'une Sentinelle anonyme
Récupération par une user ROLE_USER
Pour récupérer les détails d'une sentinelle anonyme spécifique, un utilisateur avec le rôle ROLE_USER
doit envoyer une requête GET avec l'id de la sentinelle.
curl -X POST https://<BASE_URL>:<PORT>/sentinels/<ID> \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <access_token>" \
-H "X-NONCE: <RANDOM_NONCE>" \
-H "X-FINGERPRINT: <UNIQUE_DEVICE_ID> \
Récupération publique
Un endpoint public permet la récupération de sentinelles anonyme en fournissant l'id de la sentinlle. en retour, la clé publique sera transmise
curl -X POST https://<BASE_URL>:<PORT>/sentinels/<ID>/public \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <access_token>" \
-H "X-NONCE: <RANDOM_NONCE>" \
-H "X-FINGERPRINT: <UNIQUE_DEVICE_ID> \
Supression d'une Sentinelle anonyme
Pour supprimer une sentinelle, un utilisateur avec le rôle ROLE_USER
doit envoyez une requête DELETE avec l'id de la sentinelle.
curl -X DELETE https://<BASE_URL>:<PORT>/sentinels/<sentinel_id> \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <access_token>"
-H "X-NONCE: <RANDOM_NONCE>" \
-H "X-FINGERPRINT: <UNIQUE_DEVICE_ID> \