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 密码学

Download history 144/week @ 2024-03-25 217/week @ 2024-04-01 324/week @ 2024-04-08 363/week @ 2024-04-15 235/week @ 2024-04-22 130/week @ 2024-04-29 128/week @ 2024-05-06 105/week @ 2024-05-13 258/week @ 2024-05-20 454/week @ 2024-05-27 305/week @ 2024-06-03 707/week @ 2024-06-10 241/week @ 2024-06-17 141/week @ 2024-06-24 257/week @ 2024-07-01 141/week @ 2024-07-08

804 每月下载量
用于 7 个 crate (6 直接)

LGPL-2.0-or-later

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