#public-key #sign #minisign #verify-signature #command-line

bin+lib rsign

用于签署文件和验证签名的命令行工具

1 个不稳定版本

使用旧的 Rust 2015

0.1.2 2017年10月5日
0.1.1 2017年9月17日
0.1.0 2017年9月10日

密码学 中排名 #1618

MIT 许可证

62KB
1.5K SLoC

rsign

免责声明: 这是一个玩具。它未经过任何正式的安全分析。我不是安全专家。请自行承担风险

Codeship Status for danielrangel/rsign License: MIT

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