13 个不稳定版本 (5 个破坏性更新)

0.6.0 2024年6月14日
0.5.0 2024年2月23日
0.4.0 2023年12月6日
0.3.2 2023年4月27日
0.2.0 2023年3月7日

#688 in 密码学

Download history 187/week @ 2024-05-04 248/week @ 2024-05-11 320/week @ 2024-05-18 575/week @ 2024-05-25 471/week @ 2024-06-01 822/week @ 2024-06-08 503/week @ 2024-06-15 302/week @ 2024-06-22 345/week @ 2024-06-29 349/week @ 2024-07-06 423/week @ 2024-07-13 278/week @ 2024-07-20 185/week @ 2024-07-27 179/week @ 2024-08-03 589/week @ 2024-08-10 299/week @ 2024-08-17

1,279 每月下载量
8 个crate中使用 (6 直接使用)

LGPL-2.0-or-later

380KB
7.5K SLoC

一个OpenPGP证书存储抽象和实现。

这个crate提供通过StoreStoreUpdate特质对不同证书存储的统一、高级API。它还提供了一些辅助函数和数据结构,如UserIDIndex,以帮助实现此功能。最后,CertStore数据结构以对用户透明的方式将多个证书后端组合在一起。

这个crate支持多个后端:CertD使用一个OpenPGP证书目录Certs在内存中管理一系列证书。它可以加载来自密钥环、密钥盒、数据库等的证书。它也可以用作新后端的基础,实际上将更改写回到底层存储。 Pep提供了访问一个pEp证书存储的方式。最后,还有一个密钥服务器后端,可以通过HKPS和WKD获取证书。

用法

要从您的项目中使用sequoia-cert-store,您应该在您的crate的Cargo.toml中添加以下内容

[dependencies]
sequoia-cert-store = "0.3"
sequoia-openpgp = { version = "1.0.0", default-features = false }

然后您将运行以下命令来编译您的crate

$ cargo build --release --features sequoia-openpgp/crypto-default
$ cargo test --features sequoia-openpgp/crypto-default
$ cargo doc --no-deps --features sequoia-openpgp/crypto-default

如果您没有禁用使用sequoia-openpgp的默认功能,那么sequoia-openpgp将选择默认的加密后端,并且您的用户无法轻松地使用不同的加密后端编译您的crate。

sequoia-openpgp 目前使用 Nettle 作为其默认的加密后端。 sequoia-openpgp 还支持 OpenSSL (sequoia-openpgp/crypto-openssl)、Botan (sequoia-openpgp/crypto-botan)、Windows CNG (sequoia-openpgp/crypto-cng)、Rust Crypto (sequoia-openpgp/crypto-rust)。有关构建 sequoia-openpgp 的更多信息,请参阅 sequoia-openpgp 的 README。这还包括有关不同后端的 构建要求 的信息。

许可证

sequoia-cert-store 在 LGPL 2.0 或更高版本的条款下分发。

有关详细信息,请参阅 LICENSE.txtCONTRIBUTING.md

依赖关系

~38–57MB
~1M SLoC