# Premiers pas

Avant de commencer, il vous faut un compte Seald. Vous pouvez créer un compte d'essai sur notre environnement de test ici : https://www.seald.io/fr/create-sdk (opens new window).

Une fois votre compte d'essai créé, vous pouvez accéder au tableau d'administration (opens new window) et récupérer les informations nécessaires.

WARNING

Ceci vous permet de créer un compte sur notre environment de test seulement. Cet environnement ne peut pas être migré vers un environnement de production. Il n'y a pas de garantie de service et les données peuvent être amenées à être supprimées.

Pour créer un compte de production, contactez-nous.

# Pré-requis

Depuis votre compte développeur, récupérez les éléments suivants :

  • appId : UUID unique pour votre application ;
  • apiURL : URL du serveur d'API à utiliser. Nécessaire uniquement pour les environnements de test ; pour l'environnement de production, vous pouvez ne pas passer la variable ;
  • keyStorageURL : URL du serveur de stockage des identités à utiliser. Nécessaire uniquement pour les environnements de test, pour l'environnement de production, vous pouvez ne pas passer la variable.
  • JWTSecretId : L'identifiant de secret de JWT
  • JWTSecret : Secret de JWT, permettant de générer des JSON Web Token nécessaire à l'utilisation du SDK.
Dashboard mode SDK
Tableau d'administration

L'utilisation du SDK nécessite des JSON Web Token (JWT). Pour générer des JWT, vous aurez besoin d'un secret de JWT (JWT Secret).

Lors de la création de votre compte d'administration, un secret de JWT incluant toutes les permissions est automatiquement généré. Celui-ci s'affiche sur la page d'accueil.

WARNING

Le JWTSecret est un secret, il convient de la gérer de façon sécurisée. L'appId et le JWTSecretId eux peuvent être publics.

Vous pouvez générer d'autres secrets de JWT sur le tableau de bord. Pour ce faire, allez dans les paramètres, onglet JWT secrets. Cliquez sur create secret. Sélectionnez les permissions que vous souhaitez, puis confirmez la création du secret. Une fois le secret créé, récupérez son ID, noté JWTSecretId ci-après, ainsi que sa valeur, JWTSecret.

# Installation

Pour utiliser le SDK Seald dans votre application, vous devez installer le paquet NPM @seald-io/sdk :

npm i -S @seald-io/sdk

# Application en React-Native

Pour le SDK react-native, en plus du Seald-SDK lui-même, il faudra installer react-native-modpow (opens new window), react-native-async-storage (opens new window), react-native-scrypt (opens new window), react-native-rsa-native (opens new window), et react-native-get-random-values (opens new window):

npm i -S react-native-modpow @react-native-community/async-storage react-native-scrypt react-native-rsa-native react-native-get-random-values

Pour iOS, vous aurez peut-être besoin de lancer cd ios && pod install.

Par ailleurs, si react-native <0.59 est utilisé il faudra effectuer un npm link pour chacune de ces bibliothèques.

# Génération du signupJWT

La création d'une identité sur le SDK nécessite un JWT, appelé signupJWT. Ce JWT doit être généré par votre backend, à l'aide du secret de JWT créé ci-dessus.

Pour plus d'information, référez-vous à la documentation complète des JWT

Pour un test rapide, cette génération peut être effectuée du côté client, en utilisant un utilitaire inclus dans le SDK :

# Sauvegarde des identités

Pour enregistrer les identités des utilisateurs sur l'appareil local, vous pouvez utiliser une base de données locale persistante.

Additionnellement, pour protéger les identités des utilisateurs sur serveur, deux modes sont disponibles :

Ces modes sont disponibles sous forme de plugins pour le SDK Seald installables séparément :

# Pour une protection par mot de passe @seald-io/sdk-plugin-ssks-password :
npm i -S @seald-io/sdk-plugin-ssks-password

# Pour une protection en 2-man rule @seald-io/sdk-plugin-ssks-2mr :
npm i -S @seald-io/sdk-plugin-ssks-2mr

Pour plus de détails, voir ici.

WARNING

Si aucun plugin de protection des identités ni base de donnée persistante n'est utilisé, l'identité de l'utilisateur ne sera enregistrée nulle part, et les données chiffrées avec seraient irrécupérables dès la fermeture de l'onglet ou de l'application.

# Commencer à chiffrer

Une fois tous ces éléments mis en œuvre, il ne reste plus qu'à commencer à chiffrer 😊.

# Import

En premier lieu, il faut importer le SDK, et éventuellement les plugins voulus :

Pour des cas spécifiques (notamment dans des process de build non standards), voir le détail des modes d'imports.

# Instanciation

Cette étape permet d'instancier le SDK.

Si vous utilisez des plugins, il faut les passer à l'instanciation :

# Initialisation & récupération d'une identité Seald

Dans cet exemple, le mode de protection par mot de passe est employé, et l'identité chiffrée par un dérivé de ce mot de passe est envoyée sur l'instance en SaaS de SSKS.

# Chiffrer et déchiffrer

Deux possibilités sont fournies pour chiffrer et déchiffrer :