[package]
edition = "2021"
rust-version = "1.85"
name = "gunnar-crypt"
version = "1.6.0"
authors = [
"Ignalina ApS",
"Vetra Automation AB",
]
build = false
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Encrypted repositories: the content envelope, the per-repo key ring, its members, the server's plaintext check, each person's one encryption key and its unlock methods, and the ring's wrap to members' encryption keys"
readme = "README.md"
license = "AGPL-3.0-only"
repository = "https://git.gunnar.rs/nordisk/gunnar"
[features]
cipher = [
"dep:aes-siv",
"dep:zeroize",
"dep:hmac",
"dep:hkdf",
]
default = [
"wrap",
"diff",
]
diff = ["dep:imara-diff"]
keygen = [
"cipher",
"dep:getrandom",
]
pq = [
"user-key",
"pq-keys",
"dep:age-core",
"dep:hpke",
"dep:x-wing",
]
pq-keys = ["dep:bech32"]
user-key = [
"keygen",
"dep:age",
"dep:hkdf",
"dep:bech32",
"dep:chacha20poly1305",
]
wrap = [
"pq",
"age/ssh",
]
[lib]
name = "gunnar_crypt"
path = "src/lib.rs"
[[example]]
name = "pq_bench"
path = "examples/pq_bench.rs"
[[example]]
name = "sk_v1_fixture"
path = "examples/sk_v1_fixture.rs"
required-features = ["user-key"]
[[test]]
name = "chunked"
path = "tests/chunked.rs"
[[test]]
name = "default_level"
path = "tests/default_level.rs"
[[test]]
name = "format"
path = "tests/format.rs"
[[test]]
name = "fuzz_open"
path = "tests/fuzz_open.rs"
[[test]]
name = "nested_gitattributes"
path = "tests/nested_gitattributes.rs"
[[test]]
name = "pq"
path = "tests/pq.rs"
[[test]]
name = "pq_stress"
path = "tests/pq_stress.rs"
[[test]]
name = "security_key_v2"
path = "tests/security_key_v2.rs"
[[test]]
name = "userkey"
path = "tests/userkey.rs"
[[test]]
name = "vectors"
path = "tests/vectors.rs"
[[test]]
name = "wrap"
path = "tests/wrap.rs"
[dependencies.aes-siv]
version = "0.8"
features = [
"alloc",
"zeroize",
]
optional = true
default-features = false
[dependencies.age]
version = "0.11.5"
features = ["armor"]
optional = true
default-features = false
[dependencies.age-core]
version = "0.11"
optional = true
[dependencies.base64]
version = "0.22"
[dependencies.bech32]
version = "0.9"
optional = true
[dependencies.chacha20poly1305]
version = "0.11"
features = ["alloc"]
optional = true
default-features = false
[dependencies.getrandom]
version = "0.2"
optional = true
[dependencies.hkdf]
version = "0.13"
optional = true
[dependencies.hmac]
version = "0.13"
optional = true
[dependencies.hpke]
version = "0.14.1"
features = [
"alloc",
"chacha",
"mlkem",
"x25519",
]
optional = true
default-features = false
[dependencies.imara-diff]
version = "0.2"
optional = true
[dependencies.sha2]
version = "0.11"
[dependencies.x-wing]
version = "0.1.1"
features = ["zeroize"]
optional = true
default-features = false
[dependencies.zeroize]
version = "1"
optional = true
[dev-dependencies.age]
version = "0.11.5"
features = [
"ssh",
"armor",
]
default-features = false
[dev-dependencies.base64]
version = "0.22"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.flate2]
version = "1"
features = ["zlib-rs"]
default-features = false
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.sha2]
version = "0.11"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.tempfile]
version = "3"
[target.'cfg(target_arch = "wasm32")'.dependencies.getrandom]
version = "0.2"
features = ["js"]
optional = true
[target.'cfg(target_arch = "wasm32")'.dev-dependencies.wasm-bindgen-test]
version = "0.3"