1 个不稳定版本
0.1.0 | 2019年5月28日 |
---|
#2191 in 密码学
13KB
187 行
signit
一个使用您的 ed25519 SSH 密钥签署和验证消息签名的工具。
如果您将您的 ed25519 公钥添加到您的 github 账户中,任何人都可以验证您的消息,而无需手动提供您的公钥!
先决条件:生成 ed25519 SSH 密钥
运行以下命令,并按照说明操作。如果您已经有了 ed25519 SSH 密钥,则不需要这样做。
ssh-keygen -t ed25519
往返示例
这使用我的 $HOME/.ssh/id_ed25519
密钥进行签名,并使用我在 github 上的公钥 keys 进行验证。
signit sign -p -m "Hello, world" -g jamesmunns | tee msg.json | signit verify -g && cat ./msg.json
Verified!
{
"message": "Hello, world",
"signature": "JruolFnpOE6uQy0gqSE2VfrHPYr2De7cDdiIOAhDLIkIN5MmK+oT4HRNpB2Y0QSY1XGVMODHG1fWOeFwdl+YDg==",
"github_user": "jamesmunns"
}
签署消息
signit sign --help
signit-sign 0.1.0
James Munns <james.munns@ferrous-systems.com>
Sign a message using an ed25519 private key
USAGE:
signit sign [FLAGS] [OPTIONS]
FLAGS:
-h, --help Prints help information
-p Pretty Print the JSON output
-V, --version Prints version information
OPTIONS:
-g <github> Github username to couple with json output
-i <input> File to sign, defaults to stdin if no file is specified or -m is not used
-m <message> Message to sign (overrides -i flag or stdin)
-o <output> Output of signature, defaults to stdout if no file is specified
-k <private_key> Path to ed25519 private key, defaults to "$HOME/.ssh/id_ed25519"
验证消息
signit verify --help
signit-verify 0.1.0
James Munns <james.munns@ferrous-systems.com>
Verify a message using an ed25519 public key
USAGE:
signit verify [FLAGS] [OPTIONS]
FLAGS:
-g Pull public keys from github
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
-i <input> File to sign, defaults to stdin if no file is specified or -m is not used
-m <message> Message to verify (overrides -i flag or stdin)
-k <public_key> Path to ed25519 public key, defaults to "$HOME/.ssh/id_ed25519.pub", overrides -g
安装
cargo install signit
升级
cargo install -f signit
许可证
本项目的许可证条款为 MIT 许可证和 Apache 许可证 v2.0。
本项目中使用的许可证副本也可以在此找到
贡献
除非您明确声明,否则任何有意提交以包含在作品中的贡献,根据 Apache-2.0 许可证的定义,应按上述方式许可,无需任何额外的条款或条件。
依赖关系
~24MB
~511K SLoC