
ファイルへの署名と署名検証のための、とてもシンプルなツールです。
Minisign はファイルへの署名と署名検証を行うツールです。次のように設計されています:
Minisign は、小さく高速な署名を生成できる Ed25519 公開鍵署名方式を使用しています。
詳しいドキュメントについては、Minisign ドキュメント ウェブサイトまたは同梱の man ページを参照してください。
Minisign はさまざまなパッケージマネージャーで利用できます:
| プラットフォーム | コマンド |
|---|---|
| macOS (Homebrew) | brew install minisign |
| Windows (Scoop) | scoop install minisign |
| Windows (Chocolatey) | choco install minisign |
依存関係:
コンパイルオプション:
zig build -Doptimize=ReleaseSmall
zig build -Doptimize=ReleaseSmall -Dstatic
zig build -Doptimize=ReleaseSmall -Dwithout-libsodium
生成されたバイナリは zig-out/bin/minisign にあります。
実行速度を優先し、バイナリサイズが大きくなってもよい場合は、上記のいずれかのコマンドで ReleaseSmall を ReleaseFast に置き換えてください。
依存関係:
コンパイル:
mkdir build
cd build
cmake ..
make
make install # with appropriate permissions
静的バイナリ用の代替設定:
cmake -D STATIC_LIBSODIUM=1 ..
または:
cmake -D BUILD_STATIC_EXECUTABLES=1 ..
minisign -G
これにより次が作成されます:
minisign.pub)minisign.key)minisign -S -m file.txt
これにより、file.txt.minisig という名前の署名ファイルが作成されます。
検証対象となる信頼できるコメントを追加するには:
minisign -S -m file.txt -t "Trusted comment here"
minisign -Vm file.txt -p minisign.pub
または公開鍵を直接指定する場合:
minisign -Vm file.txt -P RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3
プロジェクトの tarball およびビルド済みバイナリは、次の公開鍵で検証できます:
RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3
Minisign は Docker イメージとして利用できます:
docker run -i --rm jedisct1/minisign
初回の鍵生成と、それに続くローカルファイルへの署名の例:
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 は秘密鍵を作成して使用します。公開鍵は minisign.pub という名前になります。
重要: バックアップを作成し、生成した秘密鍵ファイル minisign.key をコミットしたり共有したりしないでください。
Docker イメージを使用した署名検証の例:
docker run -i --rm -v .:/minisign jedisct1/minisign \
-Vm file_to_verify -p minisign.pub
デフォルト名で公開鍵が生成されている場合は、-p minisign.pub を省略できます。
イメージは次の cosign 公開鍵で検証できます:
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAExjZWrlc6c58W7ZzmQnx6mugty99C
OQTDtJeciX9LF9hEbs1J1fzZHRdRhV4OTqcq0jTW9PXnrSSZlk1fbkE/5w==
-----END PUBLIC KEY-----
Minisign は OpenBSD の署名ツールである signify と互換性があります。signify で作成された署名は minisign で検証でき、その逆も可能です。
この実装は、libsodium が ED25519_NONDETERMINISTIC マクロを定義してコンパイルされていない限り、決定的署名を使用します。このマクロは EdDSA ナンスの計算にランダムなノイズを追加します。
他の実装では、デフォルトで非決定的署名を選択することもできます。それらの実装は、決定的署名を使用する実装と完全に相互運用可能です。
minizign が現在推奨される実装です。新機能はここで実装される予定です。
その他のツールとライブラリ: