Aller au contenu principal

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> \