Créons un fichier chiffré d'exemple:
$ echo 'Mon secret' | gpg -c - > secrets.txt.gpg
Où -c précise que l'on souhaite utiliser un chiffrement symétrique et - que
l'on veut lire le contenu depuis stdout qui dans notre cas est le résultat de la
commande echo.
Pour le déchiffrer il suffit d'utiliser la commande:
$ gpg -d secrets.txt.gpg 2> /dev/null
Mon secret
Où 2> /dev/null redirige stderr pour ne garder que le contenu déchiffré.
J'utilise au quotidien le plugin gnupg.vim qui permet d'éditer les fichiers
se terminant par l'extension .gpg de manière transparente.
Mais on peut aiséement s'en passer.
Pour créer un fichier chiffré, ouvrons le normalement:
Après lui avoir confié nos plus intimes secrets, on en chiffre le contenu comme suit:
Explications:
- : entrer en mode commande
- %! prendre l'ensemble des lignes du fichier les passer à la commande shell
et les remplacer par le résultat de cette commande
- gpg -c - la commande du shell
Il n'y à plus qu'à enregisterer.
Pour le déchiffrer c'est quasiment la même chose:
Et comme on a pas envie de faire tout ça à chaque fois,
on ajoute à son vimrc:
if !exists(":EncryptBuffer")
command EncryptBuffer :%! gpg -c -
endif
if !exists(":DecryptBuffer")
command DecryptBuffer :%!gpg -d - 2> /dev/null
endif
Il suffit dorénavant de faire :DecryptBuffer ou :EncryptBuffer.
Et avec l'autocompletion intégrée de vim, pas besoin de tout écrire.