GnuPG (ou GPG) est un outil de chiffrement disponible sur Linux, Windows et macOS.
Installation
Installation sur Debian ou Ubuntu :
apt update && apt install -y gpg
Installation sur Arch Linux :
sudo pacman -S gnupg
Initialisation
Pour initialiser GnuPG, il faut créer une clé de chiffrement
Exécuter la commande suivante pour générer une clé de chiffrement :
gpg --gen-key
Durant l'exécution, vous allez devoir définir un nom d'utilisateur, un email et une passphrase.
N'oubliez pas de définir les bon droits pour le dossier .gnupg
avec un bon chmod
des familles :
chmod 600 .gnupg
IMPORTANT : Le dossier ~/.gnupg/
est votre passphrase est a garder absolument au risque de ne jamais pouvoir déchiffrer vos données chiffrés.
Lister ses clés GPG
Pour récupérer la liste de ses clés GPG, exécutez la commande suivante :
gpg --list-secret-keys --keyid-format LONG
Le numéro de clé affiché devra être utilisé pour certaines commandes comme gpg --delete-keys
ou gpg --edit-key
.
Lister toutes les clés GPG
gpg --list-keys --keyid-format LONG
Voir les informations d'un fichier .gpg
gpg --verbose --decrypt --list-only --dry-run --logger-fd 1 <file.gpg>
Chiffrer un fichier
Pour chiffrer un fichier :
gpg -e <file>
Chiffrer un fichier au format ASCII
Par défaut, les fichiers sont chiffré au format binaire. Pour chiffer un fichier au format ASCII, exécutez la commande suivante :
gpg -e -a -o <file>.gpg <file>
Convertir un fichier binaire au format ASCII
gpg --enarmor <file>.gpg
Déchiffrer un fichier
Poru déchiffrer un fichier :
gpg -d <file>
Chiffrer un dossier
GnuPG ne permet pas de chiffrer directement un dossier. Cependant, vous pouvez archivez une archive.
Du coup, archivez votre dossier avec un logiciel d'archivage (ex : zip
, 7z
, tar.gz
ect...), puis chiffrez le :
zip -r folder.zip <folder>gpg -e folder.zip
Supprimer une clé
Pour supprimer une clé :
gpg --delete-keys <KEY>
Modifier son mot de passe
Pour modifier son mot de passe :
gpg --edit-key <KEY>gpg> passwdgpg> save
Toujours demander le mot de passe
Si vous souhaitez que votre passphrase soit toujours demandé lors du déchiffrement d'un fichier, éditez le fichier ~/.gnupg/gpg-agent.conf
avec les lignes suivantes :
default-cache-ttl 0max-cache-ttl 0
Récupérer une clé GPG publique
Pour récupérer une clé publique complète, exécutez la commande suivante :
gpg --armor --export <KEY_ID>
Changer la date d'expiration d'une clé
Si vous voulez modifier la date d'expiration d'un clé GPG, exécutez la commande suivante :
gpg --edit-key <KEY>gpg> expiregpg> save
NOTE: Il est possible que la subkey et non la primary key soit expiré, pour la selectionner, tapez key <key>
puis expire
.
Que se passe-t-il si votre clé GPG expire ?
https://g-loaded.eu/2010/11/01/change-expiration-date-gpg-key/En théorie, le propriétaire d'une clé privée expirée devrait toujours avoir la possibilité de déchiffrer des données et également être en mesure de signer des données, même si toutes les sous-clés publiques de la paire de clés actuelle ont expiré, car il est toujours possible de réinitialiser la date d'expiration sur le clés publiques actuellement expirées.
Chiffer avec vim
Installer vim-gnupg.
let g:GPGDefaultRecipients=["yourname@yourdomain.com"]
gpg-tui
Pour gérer plus facilement ses clés, il existe gpg-tui
:
sudo pacman -S gpg-tui
Références :