
Ein denkbar einfaches Tool zum Signieren von Dateien und Prüfen digitaler Signaturen.
Ein denkbar einfaches Werkzeug zum Signieren von Dateien und Überprüfen von Signaturen.
Minisign ist ein Werkzeug zum Signieren von Dateien und zum Überprüfen von Signaturen. Es ist darauf ausgelegt:
Minisign verwendet das Ed25519-Public-Key-Signaturverfahren mit kleinen und schnellen Signaturen.
Für eine umfassende Dokumentation besuchen Sie bitte die Minisign-Dokumentation-Website oder die enthaltene Manpage.
Minisign ist in verschiedenen Paketverwaltungen verfügbar:
| Plattform | Befehl |
|---|---|
| macOS (Homebrew) | brew install minisign |
| Windows (Scoop) | scoop install minisign |
| Windows (Chocolatey) | choco install minisign |
Abhängigkeiten:
Kompilierungsoptionen:
zig build -Doptimize=ReleaseSmall
zig build -Doptimize=ReleaseSmall -Dstatic
zig build -Doptimize=ReleaseSmall -Dwithout-libsodium
Die resultierende Binärdatei finden Sie unter zig-out/bin/minisign.
Für eine schnellere Ausführung auf Kosten einer größeren Binärdatei können Sie ReleaseSmall in einem der obigen Befehle durch ReleaseFast ersetzen.
Abhängigkeiten:
Kompilierung:
mkdir build
cd build
cmake ..
make
make install # with appropriate permissions
Alternative Konfiguration für statische Binärdateien:
cmake -D STATIC_LIBSODIUM=1 ..
oder:
cmake -D BUILD_STATIC_EXECUTABLES=1 ..
minisign -G
Dies erzeugt:
minisign.pub)minisign.key)minisign -S -m file.txt
Dies erzeugt eine Signaturdatei mit dem Namen file.txt.minisig.
Um einen vertrauenswürdigen Kommentar hinzuzufügen, der überprüft wird:
minisign -S -m file.txt -t "Trusted comment here"
minisign -Vm file.txt -p minisign.pub
oder direkt mit einem öffentlichen Schlüssel:
minisign -Vm file.txt -P RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3
Tarballs und vorkompilierte Binärdateien des Projekts können mit dem folgenden öffentlichen Schlüssel überprüft werden:
RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3
Minisign ist als Docker-Image verfügbar:
docker run -i --rm jedisct1/minisign
Beispiel für das Erzeugen eines Schlüssels zum ersten Mal und das anschließende Signieren einer lokalen Datei:
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 erzeugt und verwendet den geheimen Schlüssel; der öffentliche Schlüssel wird minisign.pub heißen.
Wichtig: Erstellen Sie ein Backup und committen oder teilen Sie Ihre erzeugte private Schlüsseldatei minisign.key nicht.
Beispiel für die Überprüfung einer Signatur mit dem Docker-Image:
docker run -i --rm -v .:/minisign jedisct1/minisign \
-Vm file_to_verify -p minisign.pub
-p minisign.pub kann weggelassen werden, wenn der Standardname erzeugt wurde.
Das Image kann mit dem folgenden öffentlichen cosign-Schlüssel überprüft werden:
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAExjZWrlc6c58W7ZzmQnx6mugty99C
OQTDtJeciX9LF9hEbs1J1fzZHRdRhV4OTqcq0jTW9PXnrSSZlk1fbkE/5w==
-----END PUBLIC KEY-----
Minisign ist kompatibel mit signify, dem OpenBSD-Signierungswerkzeug. Mit signify erstellte Signaturen können mit minisign überprüft werden und umgekehrt.
Diese Implementierung verwendet deterministische Signaturen, sofern libsodium nicht mit dem definierten Makro ED25519_NONDETERMINISTIC kompiliert wurde. Dies fügt der Berechnung von EdDSA-Nonces zufälliges Rauschen hinzu.
Andere Implementierungen können standardmäßig nicht-deterministische Signaturen verwenden. Sie bleiben vollständig interoperabel mit Implementierungen, die deterministische Signaturen verwenden.
minizign ist jetzt die empfohlene Implementierung. Hier werden neue Funktionen implementiert.
Weitere Werkzeuge und Bibliotheken: