6 个版本 (重大更改)
0.6.0 | 2023 年 3 月 6 日 |
---|---|
0.5.0 | 2022 年 11 月 23 日 |
0.4.0 | 2022 年 11 月 8 日 |
0.3.0 | 2022 年 10 月 28 日 |
0.1.0 | 2022 年 10 月 24 日 |
#2210 in 密码学
804 每月下载量
用于 7 个 crate (6 直接)
76KB
1.5K SLoC
一个从配置文件读取 Sequoia 的 StandardPolicy
配置的库。
Sequoia 的 StandardPolicy
可以使用 Rust 进行配置。与大多数东西一样,Sequoia 的低级库避免对库的用户施加策略,例如配置文件的存储位置或其格式。当需要时,由应用程序提供接口,并适当地配置策略。
此库提供了一种高级接口,用于解析配置文件,并返回配置好的 StandardPolicy
。
请参阅 crate 的文档以了解文件格式的说明。
快速入门
要将 sequoia-policy-config
添加到您的 crate,请将以下内容添加到您的 crate
[dependencies]
sequoia-openpgp = { version = "1" }
sequoia-policy-config = { version = "0.6" }
这将使用 sequoia-openpgp
的默认加密后端,目前是 Nettle。
要选择不同的加密后端,例如 OpenSSL,您可以这样做
cargo build --release --no-default-features --features sequoia-openpgp/crypto-openssl
要在您的 crate 中使用 sequoia-policy-config
,通常只需用以下内容替换对 StandardPolicy::new
的使用即可:
use sequoia_policy_config::ConfiguredStandardPolicy;
fn main() -> openpgp::Result<()> {
let mut p = ConfiguredStandardPolicy::new();
p.from_bytes(b"[hash_algorithms]
sha1.collision_resistance = \"never\"")?;
let p = &p.build();
// ...
Ok(())
}
构建
此 crate 完全是一个库,因此通常不会直接构建。如果您构建它(例如,因为您正在修改它),则需要选择一个加密后端。请参阅 sequoia-openpgp
的 README 了解详细信息。
简而言之
# Use the Nettle backend:
$ cargo build --release --features sequoia-openpgp/crypto-nettle
$ cargo test --release --features sequoia-openpgp/crypto-nettle
# Use the OpenSSL backend:
$ cargo build --release --features sequoia-openpgp/crypto-openssl
$ cargo test --release --features sequoia-openpgp/crypto-openssl
依赖关系
~13–21MB
~252K SLoC