mtp/crypto/Cargo.toml
Alex Emmet dbf17037ba
Some checks failed
CI / checks (push) Has been cancelled
[Fix] Wasm & Webserver
2026-07-19 19:53:59 +02:00

45 lines
1.4 KiB
TOML

[package]
name = "mtp-crypto"
version = "0.2.0"
edition = "2024"
[package.metadata.cargo-machete]
ignored = ["rand_core"]
[dependencies]
chacha20poly1305 = { version = "0.10", optional = true }
aes-gcm = { version = "0.10", optional = true }
ed25519-dalek = { version = "2.2", optional = true, features = [
"pkcs8",
"pem",
] }
hkdf = { version = "0.13", optional = true }
sha2 = { version = "0.11", optional = true }
zeroize = { version = "1.9", features = ["derive"] }
thiserror = "1"
base64 = "0.22"
rand_core = { version = "0.10.1" }
rand = "0.10.2"
getrandom = "0.4.3"
mlkem-tls = { version = "0.2", optional = true }
ml-dsa = { version = "0.1.1", optional = true }
serde = { version = "1", optional = true, features = ["derive"] }
rcgen = { version = "0.14", optional = true }
time = { version = "0.3", optional = true }
tokio = { version = "1", features = ["macros", "rt"], optional = true }
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
rustls = "0.23.41"
[features]
default = ["chacha20poly1305", "ed25519-dalek", "hkdf", "sha2", "ml-dsa", "parallel"]
# Enabling ml-dsa by default ensures dual-signature support in the handshake
# without requiring a separate PQC feature flag in host/client crates.
full = ["default", "aes-gcm"]
pqc = ["mlkem-tls", "ml-dsa"]
serde = ["dep:serde"]
wasm = ["getrandom/wasm_js"]
hkdf = ["dep:hkdf", "dep:sha2"]
sha2 = ["dep:sha2"]
tls = ["dep:rcgen", "dep:time"]
parallel = ["dep:tokio"]