
Un outil très simple pour signer des fichiers et vérifier les signatures numériques.
Un outil d'une simplicité absolue pour signer des fichiers et vérifier des signatures.
Minisign est un outil permettant de signer des fichiers et de vérifier des signatures. Il est conçu pour être :
Minisign utilise le système de signature à clé publique Ed25519 avec des signatures petites et rapides.
Pour une documentation complète, veuillez consulter le site de la documentation Minisign ou la page de manuel incluse.
Minisign est disponible dans plusieurs gestionnaires de paquets :
| Plateforme | Commande |
|---|---|
| macOS (Homebrew) | brew install minisign |
| Windows (Scoop) | scoop install minisign |
| Windows (Chocolatey) | choco install minisign |
Dépendances :
Options de compilation :
zig build -Doptimize=ReleaseSmall
zig build -Doptimize=ReleaseSmall -Dstatic
zig build -Doptimize=ReleaseSmall -Dwithout-libsodium
Le binaire obtenu se trouve dans zig-out/bin/minisign.
Pour une exécution plus rapide au prix d'un binaire plus volumineux, vous pouvez remplacer ReleaseSmall par ReleaseFast dans chacune des commandes ci-dessus.
Dépendances :
Compilation :
mkdir build
cd build
cmake ..
make
make install # with appropriate permissions
Configuration alternative pour les binaires statiques :
cmake -D STATIC_LIBSODIUM=1 ..
ou :
cmake -D BUILD_STATIC_EXECUTABLES=1 ..
minisign -G
Ceci crée :
minisign.pub par défaut)minisign.key par défaut)minisign -S -m file.txt
Ceci crée un fichier de signature nommé file.txt.minisig.
Pour ajouter un commentaire de confiance qui sera vérifié :
minisign -S -m file.txt -t "Trusted comment here"
minisign -Vm file.txt -p minisign.pub
ou avec une clé publique directement :
minisign -Vm file.txt -P RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3
Les archives et les binaires précompilés du projet peuvent être vérifiés avec la clé publique suivante :
RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3
Minisign est disponible sous forme d'image Docker :
docker run -i --rm jedisct1/minisign
Exemple de génération d'une clé pour la première fois, puis de signature d'un fichier local :
docker run -i --rm -v .:/minisign jedisct1/minisign \
-s minisign.key -G
docker run -i --rm -v .:/minisign jedisct1/minisign \
-s minisign.key -S -m files_to_sign
-s minisign.key crée et utilise la clé secrète ; la clé publique sera nommée minisign.pub.
Important : effectuez une sauvegarde et ne validez pas ni ne partagez votre fichier de clé privée généré minisign.key.
Exemple de vérification d'une signature à l'aide de l'image Docker :
docker run -i --rm -v .:/minisign jedisct1/minisign \
-Vm file_to_verify -p minisign.pub
-p minisign.pub peut être omis si le nom par défaut a été généré.
L'image peut être vérifiée avec la clé publique cosign suivante :
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAExjZWrlc6c58W7ZzmQnx6mugty99C
OQTDtJeciX9LF9hEbs1J1fzZHRdRhV4OTqcq0jTW9PXnrSSZlk1fbkE/5w==
-----END PUBLIC KEY-----
Minisign est compatible avec signify, l'outil de signature d'OpenBSD. Les signatures créées avec signify peuvent être vérifiées avec minisign, et inversement.
Cette implémentation utilise des signatures déterministes, sauf si libsodium a été compilé avec la macro ED25519_NONDETERMINISTIC définie. Celle-ci ajoute un bruit aléatoire au calcul des nonces EdDSA.
D'autres implémentations peuvent choisir d'utiliser des signatures non déterministes par défaut. Elles resteront entièrement interopérables avec les implémentations utilisant des signatures déterministes.
minizign est désormais l'implémentation recommandée. C'est là que les nouvelles fonctionnalités seront implémentées.
Autres outils et bibliothèques :