25 个版本 (重大变更)
0.35.0 | 2024年7月11日 |
---|---|
0.33.0 | 2024年5月17日 |
0.32.0 | 2024年3月20日 |
0.31.0 | 2023年10月27日 |
0.18.0 | 2020年7月31日 |
在 加密学 中排名 1757
79KB
2K SLoC
使用 Sequoia 实现的无状态 OpenPGP 接口。
此实现使用 Sequoia OpenPGP 实现了无状态 OpenPGP 命令行接口(SOP)。此包实现了 Rust SOP 接口,并提供了一个命令行前端。
SOP 实现具有广泛的兼容性,请参阅 OpenPGP 互操作性测试套件。
SOP 命令行入门
要构建命令行前端,启用 "cli" 功能,例如使用 cargo build --features=cli
或 cargo install sequoia-sop --features=cli
.
要构建仅限于 SOP 验证子集 的命令行前端,启用 "cliv" 功能,例如使用 cargo build --features=cliv
或 cargo install sequoia-sop --features=cliv
.
为了演示 SOP,让我们生成一个密钥,并加密和解密一条消息
$ sqop generate-key [email protected] > julia.secret.pgp
$ sqop extract-cert < julia.secret.pgp > julia.public.pgp
首先,我们为 julia@example.org
生成一个密钥。接下来,我们提取证书,即不带密钥材料的密钥。
$ echo "a message" | sqop encrypt julia.public.pgp > message.pgp
$ sqop decrypt julia.secret.pgp < message.pgp
a message
这里,我们使用 Julia 的证书加密一条消息,并用她的密钥解密它。
选择不同的加密后端
Sequoia PGP 支持许多 不同的加密库。为了使用此包选择一个后端,请禁用默认功能并明确选择一个后端。
要构建时选择替代加密后端(例如 OpenSSL 后端),请执行以下操作
$ cargo build --no-default-features --features cli,sequoia-openpgp/compression,sequoia-openpgp/crypto-openssl
或者从 crates.io 安装它
$ cargo install sequoia-sop --no-default-features --features cli,sequoia-openpgp/compression,sequoia-openpgp/crypto-openssl
要从 Rust 使用它,请依赖 sequoia-openpgp 并选择一个后端,如下所示
[dependencies]
sop = { version = "*", default-features = false }
sequoia-openpgp = { version = "*", default-features = false, features = ["compression", "crypto-openssl"] }
Shell自动补全
默认情况下,shell自动补全会被放置到cargo
目标目录中,但具体位置无法预测。要将资产写入可预测的位置,请将环境变量ASSET_OUT_DIR
设置为一个合适的位置。
依赖
~12–23MB
~311K SLoC