[package]
name = "secure_data"
version = "0.1.0"
edition = "2021"
license = "MIT OR Apache-2.0"
description = "Secret wrappers, envelope encryption, KMS providers, crypto agility, and password hashing."
repository = "https://github.com/kerberosmansour/SunLitSecurityLibraries"
documentation = "https://docs.rs/secure_data"
keywords = ["security", "crypto", "secrets", "kms", "argon2"]
[lib]
name = "secure_data"
[features]
fips = ["aws-lc-rs"]
vault = ["dep:reqwest"]
aws-kms = ["dep:aws-sdk-kms", "dep:aws-config"]
password = ["dep:argon2"]
azure-kv = []
mobile-storage = []
[dependencies]
security_core = { package = "security_core", version = "0.1.0", path = "../security_core" }
secure_errors = { package = "secure_errors", version = "0.1.0", path = "../secure_errors" }
security_events = { package = "security_events", version = "0.1.0", path = "../security_events" }
secrecy = { version = "0.10", features = ["serde"] }
zeroize = { version = "1", features = ["derive"] }
aes-gcm = "0.10"
chacha20poly1305 = "0.10"
rand = "0.8"
base64 = "0.22"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
tokio = { version = "1", features = ["sync", "rt", "macros"] }
thiserror = "1"
aws-lc-rs = { version = "1", optional = true }
reqwest = { version = "0.12", features = ["json", "rustls-tls"], optional = true }
aws-sdk-kms = { version = "1", default-features = false, features = ["default-https-client", "rt-tokio"], optional = true }
aws-config = { version = "1", default-features = false, features = ["credentials-process", "default-https-client", "rt-tokio"], optional = true }
argon2 = { version = "0.5", optional = true }
[dev-dependencies]
tokio = { version = "1", features = ["rt", "macros", "rt-multi-thread"] }
proptest = "1"