# Liste des commandes

Ces commandes supportent en plus ces options globales.

# create-account

La commande create-account permet de créer un compte, de rejoindre une équipe et, optionnellement, de lui ajouter un email.

seald create-account [--display-name <display_name>] [--email <email> [--email-validation <validation_token>] [--force] [--team-id <team_id>] [--accept-backup-keys]]

# Exemples

Pour créer un compte :

seald create-account

Pour créer un compte avec un email :

seald create-account --display-name Tim --email tim@seald.io

Pour créer un compte avec un email, et rejoindre une équipe :

seald create-account -d Tim -e tim@seald.io -t 00000000-0000-0000-0000-000000000000 --accept-licence

Pour créer un compte avec un email appartenant à un domaine prévalidé :

seald  create-account -d Tim -e tim@seald.io --accept-licence --email-validation 69ddb1130cab76a9f4639e25b442d0358687436bccbf21a3e61bd0c1a2888246107e1cf9fd05f80d607f68fc0c8286ce06275356a01c4bd0e275f055832a5cde

# Options

  • --display-name, -d Nom de l'utilisateur. Celui ci n'est pas modifiable en CLI. [default: "CLI Account"]
  • --email, -e Adresse email de l'utilisateur. [string] [default: null]
  • --email-validation Jeton de validation automatique. [string] [require: email]
  • --accept-licence Accepter automatiquement le contrat de licence et la politique de confidentialité. [boolean] [default: false]
  • --force, -f Force l'ajout de l'email si celui si est déjà enregistré. [boolean] [default: false]
  • --team-id, -t UUID de l'équipe à rejoindre. [string] [default: null] [require: email]
  • --accept-backup-keys Force l'acceptation des clés de sauvegarde de l'équipe (nécessite d'avoir rejoint une équipe). [boolean] [default: false]

# add-email

La commande add-email permet d'ajouter un email au compte.

Cette opération nécessite d'avoir créé un compte au préalable via la commande create-account.

Un compte nécessite au moins un email pour pouvoir être utilisé. Un compte peut avoir plusieurs emails.

Pour valider l'ajout d'un email, il est nécessaire de rentrer un code de validation qui est envoyé par email.

Si l'adresse email est déjà associée à un compte Seald, une confirmation sera demandée. L'option --force permet d'éviter cette confirmation.

Si vous utilisez un domaine pré-validé, vous pouvez utiliser un jeton de validation automatique via l'option --email-validation lors des commandes create-account et add-email. L'utilisation de ce jeton valide automatiquement l'email, et ajoute l'utilisateur à l'equipe.

seald add-email --email <email> [--email-validation <validation_token>] [--force]

# Exemples

seald add-email --email tim@seald.io
seald add-email -e tim@seald.io --force --email-validation 69ddb1130cab76a9f4639e25b442d0358687436bccbf21a3e61bd0c1a2888246107e1cf9fd05f80d607f68fc0c8286ce06275356a01c4bd0e275f055832a5cde

# Options:

  • --email, -e Adresse email de l'utilisateur. [string] [required]
  • --email-validation Jeton de validation automatique. [string]
  • --force, -f Force l'ajout de l'email si celui si est déjà enregistré. [boolean] [default: false]
  • --accept-backup-keys Force l'acceptation des clés de sauvegarde de l'équipe (nécessite d'avoir rejoint un équipe). [boolean] [default: false]

# list-team-invitations

Cette commande nécessite d'avoir un compte avec au moins un email validé.

Cette commande ne prend pas d'argument.

seald list-team-invitations

# Exemple

seald list-team-invitations

Sortie attendue :
team: <team_name>, invited by: <inviter_email>, team ID: <team_id>

# join-team

La commande join-team permet de rejoindre une équipe en acceptant une invitation. Cette commande nécessite d'avoir un compte avec au moins un email validé.

seald join-team --team-id <team_id>

# Exemple

$ seald join-team --team-id 00000000-0000-0000-0000-000000000000

# Options

  • --team-id, -t UUID de l'équipe que vous souhaitez rejoindre. [string] [required]
  • --accept-backup-keys Force l'acceptation des clés de sauvegarde de l'équipe (néccessite d'avoir rejoint un équipe). [boolean] [default: false]

# list-backup-keys

La commande list-backup-keys permet de lister et d'accepter les clés de sauvegarde dernièrement ajoutées.

Cette opération nécessite d'avoir un compte et une équipe.

seald list-backup-keys --accept-backup-keys

# Exemple

$ seald list-backup-keys --accept-backup-keys

# Options

  • --accept-backup-keys Force l'acceptation des clés de sauvegarde de l'équipe. [boolean] [default: false]

# encrypt

La commande encrypt permet de chiffrer un ou plusieurs fichiers.

Cette opération nécessite d'avoir un compte et une équipe. Si le mode strict est activé, il est interdit d'ajouter des destinataires n'ayant pas Seald.

seald encrypt [--output <output_file>] [--recipients-ids <...recipients_ids>] [--recipients-emails <...recipients_emails>] [--recipients-emails-file <recipients_emails_file>] [--force-self] --input <files_to_encrypt..>

# Alias

  • encrypt-file

# Exemples

Chiffrer un fichier uniquement pour soi-même, sans demander de confirmation :

seald encrypt --input chemin/fichier.pdf --output chemin/fichier.pdf.shtml --force-self

Chiffrer deux fichiers pour deux destinataires:

seald encrypt -i 'chemin/fichier.pdf' 'chemin/annexe.pdf' --recipients-ids 'JqTsYFZAAuSHVGofjmsg8g' 'ZAAJqTsYFSHVGofjmsg8gu' --emails 'email@domain.tld' 'email@domain.tld'

Chiffrer un dossier de manière récursive, avec suppression des fichiers en clair, afficher un avertissement si le chiffrement de fichier a échoué :

seald encrypt -i chemin/dossierClair/ -o chemin/dossierChiffre/ --emails-file chemin/emails.txt --recursive --remove --on-error warn

# Options

  • --input, -i, --file, --files, -f Chemin des fichiers à chiffrer. [array] [required]
  • --output, -o Chemin où seront écrits les fichiers chiffrés. Par défaut, le chemin courant est utilisé, avec le nom du fichier d'entrée + .shtml [string]
  • --recipients-ids, --uids Liste des IDs des destinataires. Peut-être de la forme UID ou UID:sigchainHash pour vérifier le sigchainHash. [array] [default: []]
  • --recipients-emails, --emails Liste des emails des destinataires. Peut-être de la forme user@domain.ext ou user@domain.ext:sigchainHash pour vérifier le sigchainHash. [array] [default: []]
  • --recipients-emails-file, --emails-file Chemin d'un fichier contenant les email des destinataires. [string]
  • --force-self Ne pas demander de confirmation s'il n'y a pas d'autre destinataire que le compte chiffrant. [boolean]
  • --recursive, -r Si l'entrée est un dossier, chiffrer récursivement tous les fichiers. [boolean]
  • --retries Lors du chiffrement de plusieurs fichiers et qu'il y a une erreur, retenter ce nombre de fois. [number] [default: 3]
  • --on-error Choix du comportement quand une erreur survient lors du chiffrement de plusieurs fichiers. [string] [choices: "ignore", "warn", "fail"] [default: "fail"]
  • --parallel Nombre de processus de chiffrement lors du chiffrement de plusieurs fichiers. [number] [default: 10]
  • --remove, -R Après le chiffrement, supprimer le fichier en clair. S'il s'agit d'un dossier, supprimer le dossier. [boolean]
  • --remove-files Après le chiffrement, supprimer le fichier clair. S'il s'agit d'un dossier, supprimer seulement les fichiers. [boolean]
  • --on-same-file-name Comportement en cas de conflit sur le nom du fichier de sortie [string] [choices: "overwrite", "error", "increment", "skip"] [default: "error"]
  • --auto-accept-contacts Est-ce qu'il faut demander une confirmation avant d'enregistrer de nouveaux contacts. Défaut à demander confirmation en mode strict, ne pas en demander en mode non-strict. [boolean]
  • --progress Afficher une barre de progression. Activé par défaut, utiliser --no-progress pour le désactiver. [boolean] [default: true]

# decrypt

La commande decrypt permet de déchiffrer un ou plusieurs fichiers.

Cette opération nécessite d'avoir un compte et une team.

seald decrypt --file <file_to_decrypt> [--output <output_directory>] [--offline-database <offline_database_path>] [--force] [--safe]

# Alias

  • decrypt-file

# Exemples

Déchiffrer un fichier :

seald decrypt -i chemin/fichier.txt.shtml -o chemin/fichier.txt

Déchiffrer un fichier en utilisant un fichier de sauvegarde des clés :

seald decrypt -i chemin/fichier.txt.shtml -o chemin/fichier.txt --offline-database chemin/backup-database.txt

Déchiffrer un dossier de manière récursive, en affichant un avertissement si certains fichiers ne peuvent pas être déchiffrés :

seald decrypt -i chemin/dossierChiffre/ -o chemin/dossierClair/ --on-error warn --on-non-seald warn

# Options

  • --input, -i, --file, --files, -f Chemin des fichiers à déchiffrer. [array] [required]
  • --output, --output-dir, -o Chemin où seront écrits les fichier déchiffrés. Par default, le chemin courant est utilisé. [string]
  • --offline-database, -d Utiliser un fichier de sauvegarde des clés de chiffrement. [string]
  • --force, -f Forcer les déchiffrements s'il y a un avertissement, sans confirmation. Seulement quand on déchiffre un fichier unique. Toujours vrai en déchiffrant plusieurs fichiers. [array]
  • --safe, -s Ne pas déchiffrer si il y a un avertissement, sans demander confirmation. [boolean]
  • --recursive, -r Si l'entrée est un dossier, déchiffrer récursivement tous les fichiers. [boolean]
  • --retries Lors du chiffrement de plusieurs fichiers et qu'il y a une erreur, retenter ce nombre de fois. [number] [default: 3]
  • --on-error Choix du comportement quand une erreur survient lors du déchiffrement de plusieurs fichier. [string] [choices: "ignore", "warn", "fail"] [default: "fail"]
  • --on-non-seald Choix du comportement si un fichier n'est pas un fichier Seald lors du déchiffrement de plusieurs fichiers. [string] [choices: "ignore", "warn", "fail"] [default: "warn"]
  • --parallel Nombre de processus de déchiffrement lors du déchiffrement de plusieurs fichiers. [number] [default: 10]
  • --remove, -R Après le déchiffrement, supprimer le fichier chiffré. S'il s'agit d'un dossier, supprimer le dossier. [boolean]
  • --remove-files Après le déchiffrement, supprimer le fichier chiffré. S'il s'agit d'un dossier, supprimer seulement les fichiers. [boolean]
  • --progress Afficher une barre de progression. Activé par défaut, utiliser --no-progress pour le désactiver. [boolean] [default: true]

# add-recipients

La commande add-recipients permet d'ajouter des destinataires à un fichier chiffré existant.

Cette opération nécessite d'avoir un compte et une équipe. Si le mode strict est activé, il est interdit d'ajouter des destinataires n'ayant pas Seald.

seald add-recipients [input..]

# Alias

  • authorize-recipients

# Exemple

Ajouter deux utilisateurs ayant Seald à l'aide de leurs IDs, et deux utilisateurs n'ayant pas Seald à l'aide de leur adresse email.

seald add-recipients -i chemin/fichier.pdf.shtml --uids 'JqTsYFZAAuSHVGofjmsg8g' 'AAuSHVJqTsYFZGofjmsg8g' --emails 'email@domain.tld' 'email@domain.tld'

# Options

  • --input, -f, --file, --files, -i Chemin des fichiers chiffrés [array] [required]
  • --recipients-ids, --uids Liste des IDs des destinataires. Peut-être de la forme UID ou UID:sigchainHash pour vérifier le sigchainHash. [array] [default: []]
  • --recipients-emails, --emails Liste des emails des destinataires. Peut-être de la forme user@domain.ext ou user@domain.ext:sigchainHash pour vérifier le sigchainHash. [array] [default: []]
  • --recipients-emails-file, --emails-file Chemin d'un fichier contenant les emails des destinataires à ajouter. [string]
  • --recursive, -r Si l'entrée est un dossier, ajouter les destinataires à tous les fichiers. [boolean]
  • --on-error Choix du comportement quand une erreur survient lors du déchiffrement de plusieurs fichiers. [string] [choices: "ignore", "warn", "fail"] [default: "fail"]
  • --on-non-seald Choix du comportement si un fichier n'est pas un fichier Seald lors du déchiffrement de plusieurs fichiers. [string] [choices: "ignore", "warn", "fail"] [default: "warn"]
  • --parallel Nombre de processus d'ajout de destinataires lors d'une opération sur plusieurs fichiers. [number] [default: 10]
  • --auto-accept-contacts Est-ce qu'il faut demander une confirmation avant d'enregistrer de nouveaux contacts. Défaut à demander confirmation en mode strict, ne pas en demander en mode non-strict. [boolean]
  • --progress Afficher une barre de progression. Activé par défaut, utiliser --no-progress pour le désactiver. [boolean] [default: true]

# revoke

La commande revoke permet de révoquer des destinataires à un fichier chiffré existant.

Cette opération nécessite d'avoir un compte et une équipe.

seald revoke --file <...files_path> [--revoke-emails <...emails_to_revoke>] [--revoke-emails-file <emails_list_to_revoke>] [--revoke-ids <...ids_to_revoke>]

# Exemple

Révoquer deux utilisateurs ayant seald à l'aide de leur IDs, et deux utilisateurs n'ayant pas Seald à l'aide de leur adresse email.

seald revoke -i chemin/fichier.pdf.shtml --uids 'JqTsYFZAAuSHVGofjmsg8g' 'AAuSHVJqTsYFZGofjmsg8g' --emails 'email@domain.tld' 'email@domain.tld'

# Options

  • --input, -f, --file, --files, -i Chemin des fichiers chiffrés. [array] [required]
  • --revoke-all, --all Révoquer tous les destinataires. [boolean]
  • --revoke-others, --others Révoquer tous les destinataires excepté ce compte. [boolean]
  • --revoke-emails, --emails Tableau des emails des destinataires n'ayant pas de compte Seald à révoquer. [array]
  • --revoke-emails-file, --emails-file Chemin d'un fichier contenant les emails des destinataires à révoquer. [string]
  • --revoke-ids, --uids Tableau des IDs des destinataires ayant un compte Seald à révoquer. [array]
  • --recursive, -r Si l'entrée est un dossier, révoquer les destinataires à tous les fichiers. [boolean]
  • --retries Si le système de fichier a une erreur, retenter ce nombre de fois (cela est toujours réessayé pour les autres erreurs). [number] [default: 3]
  • --on-error Choix du comportement quand une erreur survient lors de la révocation de plusieurs fichiers. [string] [choices: "ignore", "warn", "fail"] [default: "fail"]
  • --on-non-seald Choix du comportement si un fichier n'est pas un fichier Seald lors de la révocation de plusieurs fichiers. [string] [choices: "ignore", "warn", "fail"] [default: "warn"]
  • --parallel Nombre de processus d'ajout de destinataires lors d'une opération sur plusieurs fichiers. [number] [default: 10]
  • --auto-accept-contacts Est-ce qu'il faut demander une confirmation avant d'enregistrer de nouveaux contacts. Défaut à demander confirmation en mode strict, ne pas en demander en mode non-strict. [boolean]
  • --progress Afficher une barre de progression. Activé par défaut, utiliser --no-progress pour le désactiver. [boolean] [default: true]

# get-file-info

La commande get-file-info permet d'afficher les informations sur un fichier chiffré. Ces informations sont :

  • les destinataires;
  • les destinataires révoqués;
  • accusé de lecture.

Cette opération nécessite d'avoir un compte et une équipe.

seald get-file-info --file <file_path>

# Exemple

Afficher les informations d'un fichier :

seald get-file-info --file chemin/fichier.pdf.shtml

# Options

  • --input, -f, --file, --files, -i Chemin du fichier chiffré. [string] [required]

# watch-encrypt

Surveille un dossier, et chiffre tous les fichiers écrits dans ce dossier. Les fichiers chiffrés sont écrits dans un dossier de destination. L'arborescence est conservée.

Cette opération nécessite d'avoir un compte et une équipe. Si le mode strict est activé, il est interdit d'ajouter des destinataires n'ayant pas Seald.

seald watch-encrypt --input <input_folder_path> --output <output_folder_path> [--remove] [--existing] [--recipients-ids <...recipients_ids>] [--recipients-emails <...recipients_emails>] [--recipients-emails-file <recipients_emails_file>]

# Options

  • --input, -i Dossier à surveiller [string] [required]
  • --output, -o Dossier de destination des fichiers chiffrés [string] [required]
  • --remove, -r Supprimer les fichiers en clair après chiffrement. [boolean]
  • --existing, -e Chiffrer les fichiers existant déjà dans le dossier. [boolean]
  • --retries Si le système de fichier a une erreur, retenter ce nombre de fois (cela est toujours réessayé pour les autres erreurs) [number] [default: 3]
  • --recipients-ids, --uids Liste des IDs des destinataires. Peut-être de la forme UID ou UID:sigchainHash pour vérifier le sigchainHash. [array] [default: []]
  • --recipients-emails, --emails Liste des emails des destinataires. Peut-être de la forme user@domain.ext ou user@domain.ext:sigchainHash pour vérifier le sigchainHash. [array] [default: []]
  • --recipients-emails-file, --emails-file Chemin d'un fichier contenant les emails des destinataires. [string]
  • --on-same-file-name Comportement en cas de conflit sur le nom du fichier de sortie [string] [choices: "overwrite", "error", "increment", "skip"] [default: "error"]
  • --auto-accept-contacts Est-ce qu'il faut demander une confirmation avant d'enregistrer de nouveaux contacts. Défaut à demander confirmation en mode strict, ne pas en demander en mode non-strict. [boolean]
  • --poll-interval Temps d'attente (en millisecondes) entre vérifications du système de fichiers. [number] [default: 10000]
  • --stable-time Temps d'attente (en millisecondes) entre vérifications d'un fichier pour vérifier si il est encore en cours d'écriture. [number] [default: 500]

# Exemple

seald watch-encrypt -i chemin/dossierChiffre/ -o chemin/dossierClaire/ -r -e --uids 'AAuSHVJqTsYFZGofjmsg8g' --on-same-file-name=increment

# create-backup-key

Créer une clé de récupération.

Cette opération nécessite d'avoir un compte et une équipe.

seald create-backup-key [--device-name <device_name>] [--output <output_file>]

# Options

  • --output, -o Fichier dans lequel sera exportée la clé. [string] [default: "./seald-cli-backup.seald_key"]
  • --device-name, -n Nom de la clé de sauvegarde. [string] [default: null]

# Exemple

seald create-backup-key -o chemin/cle-de-recuperation.seald_key -n ma-cle-de-recuperation

# load-backup-key

Utiliser une clé de récupération.

Cette opération nécessite de ne pas avoir de compte créé.

seald load-backup-key --key <key_file> [--offline]

# Options

  • --key, -k Fichier duquel charger la clé de récupération. [string] [required]
  • --offline Ne pas tenter de récupérer les données du compte en ligne après avoir chargé la clé de récupération. [boolean]

# Exemple

seald load-backup-key --key cle-de-recuperation.seald_key --offline

# get-user-info

La commande get-user-info permet d'afficher des informations sur un utilisateur. Ces informations sont :

  • Le nom de l'utilisateur ;
  • L'identifiant de l'utilisateur ;
  • Le hash du dernier bloc de sa chaine de signatures ;
  • La validité de sa chaine de signatures ;
  • Les adresses email de l'utilisateur ;

Si aucun argument n'est fourni, la commande retourne les informations du compte utilisé.

Cette opération nécessite d'avoir un compte et une équipe.

seald get-user-info [--email email] [--id user-id]

# Options

  • --email, -e Email de l'utilisateur souhaité. [string]
  • --id, -id ID de l'utilisateur souhaité. [string]

# Exemple

Afficher les informations d'un utilisateur :

seald get-user-info --id G4ChkDGZR0eugk7z1TDwBA
seald get-user-info --email accountEmail-1@seald.io

Sortie attendue :
User informations:
Display name: accountName
User id: G4ChkDGZR0eugk7z1TDwBA
Sigchain hash: ab5c744bff8e537fca62cdb2ef9c966cfda93c579b4113933e04dd245f9f7d4c
Sigchain is valid: true
Known email addresses:
  - accountEmail-1@seald.io
  - accountEmail-2@seald.io

# add-sigchain-transaction

La commande add-sigchain-transaction permet d'ajouter une transaction dans la chaine de signatures du compte.

WARNING

Cette commande doit utilisée uniquement en cas de corruption de la chaine de signatures. Contactez le support Seald avant utilisation.

Cette opération nécessite d'avoir un compte et une équipe.

seald add-sigchain-transaction [--type email] [--device-id device-id] [--created-at] [--expire-after] [--encryption-key-hash] [--encryption-key-b64] [--signing-key-hash] [--signing-key-b64] [--signer-key-hash] [--signer-key-b64] [--verify-sigchain]

# Options

  • --type, -t Type d'opération [string] [required] [choices: "creation", "revocation", "renewal"]
  • --device-id, -d DeviceID concerné par l'opération [string] [required]
  • --created-at, -c UNIX Timestamp en secondes. Par défaut, l'heure actuelle est utilisé. [number]
  • --expire-after, -a Durée de validité des clés lors d'un renouvellement ou d'une création. Par défaut, cette durée est de 3 ans. [number]
  • --encryption-key-hash, -e Hash de l'operationEncryptionKey. Il doit s'agir d'une encryptionKey d'un des appareils de l'utilisateur. Sinon utilisez l'argument encryption-key. [string]
  • --encryption-key-b64 La operationEncryptionKey en entier, encodée en Base64. [string]
  • --signing-key-hash, -s Hash de l'operationSigningKey. Il doit s'agir d'une signingKey d'un des appareils de l'utilisateur. Sinon utilisez l'argument signing-key. [string]
  • --signing-key-b64 La operationSigningKey en entier, encodée en Base64. [string]
  • --signer-key-hash, -S Hash de la signingKey utilisée pour signer l'opération. Il doit s'agir de la clé actuelle, où d'une ancienne clé de signature de cet appareil. Sinon utilisez l'argument signer-key. Par défaut, la clé de signature actuelle de l'appareil est utilisée. [string]
  • --signer-key-b64 la signingKey en entier, encodée en Base64. [string]
  • --verify-sigchain Activer la verification de la sigchain coté serveur ou non. [boolean] [default: true]

# Options globales

# Aide

Une aide peut être affichée en CLI en utilisant l'option --help.

L'option --version retourne la version de Seald actuellement installée.

# Niveau de log

Trois niveaux de log sont disponibles via l'ajout d'un des arguments suivants :

  • --verbose, -v Niveau de log par défaut.
  • --silly Afficher tous les logs.
  • --silent Niveau minimal de logs.

# Proxy

Si Seald-CLI est exécuté depuis un poste devant se connecter à un proxy pour avoir accès à internet, il est possible de passer un argument --proxy <url>.

# Options avancées

Ces options ne sont pas disponibles pour l'application bureau.

  • --seald-dir Chemin de la base de donnée. [string] [default: "$HOME/.seald-cli"]
  • --key-size Spécifie la taille en bits des clés RSA utilisées. [number] [choices: 1024, 2048, 4096] [default: 4096]
  • --strict-mode Active le mode strict. Certaines options seront désactivées, mais la sécurité sera renforcée. [boolean] [default: false]
  • --disable-error-reports Désactive les envois de rapports d'erreurs à Seald. [boolean] [default: false]