
Uno strumento semplicissimo per firmare file e verificare firme digitali.
Uno strumento semplicissimo per firmare file e verificare firme.
Minisign è uno strumento per firmare file e verificare firme. È progettato per essere:
Minisign usa il sistema di firma a chiave pubblica Ed25519 con firme piccole e veloci.
Per una documentazione completa, fai riferimento al sito web della documentazione di Minisign o al man page incluso.
Minisign è disponibile in vari gestori di pacchetti:
| Piattaforma | Comando |
|---|---|
| macOS (Homebrew) | brew install minisign |
| Windows (Scoop) | scoop install minisign |
| Windows (Chocolatey) | choco install minisign |
Dipendenze:
Opzioni di compilazione:
zig build -Doptimize=ReleaseSmall
zig build -Doptimize=ReleaseSmall -Dstatic
zig build -Doptimize=ReleaseSmall -Dwithout-libsodium
Il binario risultante si trova in zig-out/bin/minisign.
Per un'esecuzione più veloce a scapito di una dimensione del binario maggiore, puoi sostituire ReleaseSmall con ReleaseFast in uno qualsiasi dei comandi precedenti.
Dipendenze:
Compilazione:
mkdir build
cd build
cmake ..
make
make install # with appropriate permissions
Configurazione alternativa per binari statici:
cmake -D STATIC_LIBSODIUM=1 ..
oppure:
cmake -D BUILD_STATIC_EXECUTABLES=1 ..
minisign -G
Questo crea:
minisign.pub di default)minisign.key di default)minisign -S -m file.txt
Questo crea un file di firma chiamato file.txt.minisig.
Per aggiungere un commento fidato che verrà verificato:
minisign -S -m file.txt -t "Trusted comment here"
minisign -Vm file.txt -p minisign.pub
oppure con una chiave pubblica direttamente:
minisign -Vm file.txt -P RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3
I tarball e i binari precompilati del progetto possono essere verificati con la seguente chiave pubblica:
RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3
Minisign è disponibile come immagine Docker:
docker run -i --rm jedisct1/minisign
Esempio di generazione di una chiave al primo utilizzo e successiva firma di un file locale:
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 crea e usa la chiave segreta; la chiave pubblica sarà chiamata minisign.pub.
Importante: crea un backup e non committare o condividere il file della tua chiave privata minisign.key.
Esempio di verifica di una firma usando l'immagine Docker:
docker run -i --rm -v .:/minisign jedisct1/minisign \
-Vm file_to_verify -p minisign.pub
-p minisign.pub può essere omesso se è stato generato il nome predefinito.
L'immagine può essere verificata con la seguente chiave pubblica cosign:
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAExjZWrlc6c58W7ZzmQnx6mugty99C
OQTDtJeciX9LF9hEbs1J1fzZHRdRhV4OTqcq0jTW9PXnrSSZlk1fbkE/5w==
-----END PUBLIC KEY-----
Minisign è compatibile con signify, lo strumento di firma di OpenBSD. Le firme create con signify possono essere verificate con minisign, e viceversa.
Questa implementazione usa firme deterministiche, a meno che libsodium non sia stato compilato con la macro ED25519_NONDETERMINISTIC definita. Questo aggiunge rumore casuale al calcolo dei nonce EdDSA.
Altre implementazioni possono scegliere di usare firme non deterministiche di default. Rimarranno pienamente interoperabili con le implementazioni che usano firme deterministiche.
minizign è ora l'implementazione consigliata. È qui che verranno implementate le nuove funzionalità.
Altri strumenti e librerie: