[KeePassX](https://www.keepassx.org/) est un logiciel de gestion des mots de passe pour Linux/Windows/Mac. Il permet de générer, stocker et organiser ses mots de passe tout en les protégeant avec un chiffrement AES (clé de 256 bits).
KeePassX est un fork du logiciel [KeePass](http://keepass.info/) avec lequel son format de stockage (.kdb/.kdbx) est compatible. Il existe aussi [KeePassXC](https://keepassxc.org/) un fork de… KeePassX que nous n'utilisons pas pour l'instant.
Les paquets `libcapture-tiny-perl` et `libclipboard-perl` (disponibles uniquement sous *Stretch*) permettent d'avoir accès aux commandes xu/xp/xw/xx de _kpcli_ pour placer le login ou mot de passe directement dans le presse-papier.
C'est la version CLI de KeepassXC, elle na pas été vraiment concu pour un usage quotidien mais plutot pour l'utiliser dans des scripts (bien que sa sortie ne soit [pas simplement parseable](https://github.com/keepassxreboot/keepassxc/issues/6011)).
$ keepassxc-cli add --username alice --password-prompt /tmp/foo.kdbx bar
Enter password to unlock /tmp/foo.kdbx:
Enter password for new entry:
Successfully added entry bar.
~~~
### Aficher une entrée
~~~
$ keepassxc-cli show --show-protected /tmp/foo.kdbx bar
Enter password to unlock /tmp/foo.kdbx:
Title: bar
UserName: alice
Password: bob
URL:
Notes:
Uuid: {0310de64-3f68-4a94-840d-6b35e6c1d8cf}
Tags:
~~~
### TOTP
#### Ajouter un secret TOTP
Il n'est pas possible d'ajouter un secret TOTP en ligne de commande, car aucune des commandes `add` ou `edit` ne permet de spécifier un attribut. Dans KeepasXC les secrets TOTP sont stockés dans l'attribut `totp` sous la frome d'URL comme celle ci `otpauth://totp/totp@authenticationtest.com?secret=I65VU7K5ZQL7WB4`.
Il est prévu que la version 2.8 de KeepassXC supporte cette fonctionalité via la [PR #7462](https://github.com/keepassxreboot/keepassxc/issues/7462), cette demande de fonctionalité est suivi dans l'[issue #9212](https://github.com/keepassxreboot/keepassxc/issues/9212).
[kpcli](http://kpcli.sourceforge.net/) est un utilitaire permettant la manipulation de fichier .kdbx (ou .kbd) depuis la console. Il couvre les fonctions principales de KeePassX (copie du login/mot de passe dans le presse-papier, arborescence conservée, création de nouvelles entrées etc.)
> *Note* : la gestion du format Keepass n'est pas strictement identique entre kpcli et KeePassX, par exemple kpcli gère les tags mais pas KeePassX. Si vous en ajoutez avec kpcli, ils ne seront donc pas visibles avec KeePassX !
Malheureusement l'utilisation d'un même fichier à plusieurs utilisateurs est mal géré.
L'ouverture d'une base de données avec KeePassX provoque la création d'un fichier .lock empêchant l'ouverture en écriture par un autre utilisateur. Pour détecter cet utilisateur, voir le propriétaire du fichier .lock…