#下载 #密钥 #验证 #签名 #文件 #验证

bin+lib downify

Downify 是一个用于下载、签名和验证文件的 Rust 库

3 个不稳定版本

0.2.1 2019年2月27日
0.2.0 2019年2月27日
0.1.0 2019年1月22日

#验证 中排名 #25

MIT 许可证

15KB
262 代码行

Downify

crates.io docs

Downify 是一个用于下载、签名和验证文件的 Rust 库。它旨在作为应用程序更新机制的一部分使用。

该库使用 reqwest 从 URL 下载文件并使用 blake2-rfc 对其进行哈希处理。然后使用 sodiumoxide 验证文件的签名哈希,在返回 VerifiedFile 处理之前。

Sodiumoxide 的密钥和签名使用 base64 的 URL_SAFE_NO_PAD 进行编码以进行存储/传输。

  • 公钥前缀为 "DYP1"
  • 私钥前缀为 "DYS1"
  • 签名前缀为 "DYG1"

包括一个基于 OpenBSD's Signify 的库命令行界面,具有相应的选项。

示例

extern crate downify;

// Generate a keypair
let (public_key, secret_key) = downify::gen_keypair();

// Sign a file
let signature = downify::sign("/source/path", &secret_key);

// Verify a local file
let file_handle = downify::verify_open("/source/path", &signature, &public_key).unwrap();

// Verify a remote file
let file_handle = verify_get("https://www.example.com/", "/destination/path", &signature, &public_key).unwrap();

依赖项

~38MB
~514K SLoC