1 个不稳定版本
使用旧的 Rust 2015
0.1.2 | 2017年10月5日 |
---|---|
0.1.1 |
|
0.1.0 |
|
在 密码学 中排名 #1618
62KB
1.5K SLoC
rsign
免责声明: 这是一个玩具。它未经过任何正式的安全分析。我不是安全专家。请自行承担风险
Minisign 工具的简单 Rust 实现。rsign 生成的所有签名都可以用 minisign 验证,包括受信任的注释。Minisign 还可以使用 rsign 生成的密钥签署文件。
它使用一种 非对称加密 系统 (Ed25519) 来生成一对用于签署和验证文件的密钥。它还使用特定的组合 Scrypt, Salsa20 / 8 和 SHA-256 作为密钥派生函数 (KDF) 来加密和解密密钥。
BLAKE2b 用于确认密钥的完整性,并为大于1Gb的文件创建一个唯一的标识符。
源码包和预编译的二进制文件可以在 这里 找到
编译/安装
依赖项
在编译 rsign 之前,请确保您的默认库路径中已安装libsodium。
编译
$ git clone https://[email protected]/danielrangel/rsign.git
$ cd rsign
$ cargo build --release
用法
$ rsign generate
生成新的密钥对。默认情况下,公钥将打印在屏幕上并存储在 rsign.pub
中。私钥将写入 ~/.rsign/rsign.key
。您可以使用 -p
和 -s
分别更改默认路径。
$ rsign sign myfile.txt
使用您的私钥签署 myfile.txt
。您可以使用以下命令添加一个签署的受信任注释
$ rsign sign myfile.txt -t "my trusted comment"
如果您正在签署大于1Gb的文件,您必须使用 -H
首先对文件进行哈希处理,然后在哈希之后进行签名
$ rsign sign mylargefile.bin -H
要使用给定的公钥验证签名,可以使用
$ rsign verify myfile.txt -p rsign.pub
或者如果您已将签名文件保存为与 myfile.txt.rsign
不同的自定义名称,并希望使用公钥字符串,则可以使用
$ rsign verify myfile.txt -P [PUBLIC KEY STRING] -x mysignature.file
您可以使用帮助子命令获取更多信息,例如
$ rsign help [SUBCOMMAND]
USAGE:
rsign [SUBCOMMAND]
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
SUBCOMMANDS:
generate Generate public and private keys
help Prints this message or the help of the given subcommand(s)
sign Sign a file with a given private key
verify Verify a signed file with a given public key
依赖项
~20MB
~109K SLoC