[package]
edition = "2024"
name = "auths-core"
version = "0.0.1-rc.7"
authors = ["bordumb <bordumbb@gmail.com>"]
build = false
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Core cryptography and keychain integration for Auths"
homepage = "https://github.com/auths-dev/auths"
documentation = "https://docs.rs/auths_core"
readme = "README.md"
keywords = [
"cryptography",
"keychain",
"ed25519",
"ssh",
"identity",
]
categories = [
"cryptography",
"authentication",
]
license = "Apache-2.0"
repository = "https://github.com/auths-dev/auths"
[features]
crypto-secp256k1 = ["dep:k256"]
default = []
keychain-file-fallback = []
keychain-linux-secretservice = ["dep:secret-service"]
keychain-windows = ["dep:windows"]
test-utils = ["auths-crypto/test-utils"]
tls = [
"dep:axum-server",
"witness-server",
]
witness-server = [
"dep:axum",
"dep:tower",
"dep:tower-http",
"dep:sqlite",
]
[lib]
name = "auths_core"
crate-type = [
"rlib",
"staticlib",
]
path = "src/lib.rs"
[[test]]
name = "integration"
path = "tests/integration.rs"
[[test]]
name = "passphrase_cache_manual"
path = "tests/passphrase_cache_manual.rs"
[[bench]]
name = "crypto"
path = "benches/crypto.rs"
harness = false
[dependencies.aes-gcm]
version = "0.10.3"
[dependencies.anyhow]
version = "1.0"
[dependencies.argon2]
version = "0.5"
[dependencies.async-trait]
version = "0.1"
[dependencies.auths-crypto]
version = "0.0.1-rc.4"
features = ["native"]
default-features = false
[dependencies.auths-verifier]
version = "0.0.1-rc.4"
features = ["native"]
default-features = false
[dependencies.axum]
version = "0.8"
optional = true
[dependencies.axum-server]
version = "0.7"
features = ["tls-rustls"]
optional = true
[dependencies.base64]
version = "0.22.1"
[dependencies.blake3]
version = "1.5"
[dependencies.byteorder]
version = "1.5.0"
[dependencies.chacha20poly1305]
version = "0.10"
features = ["std"]
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.dirs]
version = "6.0.0"
[dependencies.hex]
version = "0.4.3"
[dependencies.hkdf]
version = "0.12.4"
[dependencies.k256]
version = "0.13"
features = ["schnorr"]
optional = true
[dependencies.libc]
version = "0.2.171"
[dependencies.log]
version = "0.4"
[dependencies.multibase]
version = "0.9.1"
[dependencies.once_cell]
version = "1.19"
[dependencies.pkcs8]
version = "0.10.2"
[dependencies.qrcode]
version = "0.14"
[dependencies.rand]
version = "0.8"
[dependencies.schemars]
version = "0.8"
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.sha2]
version = "0.10.8"
[dependencies.sqlite]
version = "0.32"
features = ["bundled"]
optional = true
[dependencies.ssh-agent-lib]
version = "0.5.1"
[dependencies.ssh-key]
version = "0.6.7"
features = ["ed25519"]
[dependencies.tempfile]
version = "3.19.1"
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = ["full"]
[dependencies.toml]
version = "1.0"
[dependencies.tower]
version = "0.5"
features = ["util"]
optional = true
[dependencies.tower-http]
version = "0.6"
features = ["trace"]
optional = true
[dependencies.uuid]
version = "1"
features = ["v4"]
[dependencies.x25519-dalek]
version = "2"
features = ["static_secrets"]
[dependencies.zeroize]
version = "1.8.1"
features = [
"serde",
"derive",
]
[dev-dependencies.anyhow]
version = "1.0"
[dev-dependencies.assert_matches]
version = "1.5.0"
[dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]
[dev-dependencies.mockall]
version = "0.13.1"
[dev-dependencies.rand]
version = "0.8"
[dev-dependencies.ring]
version = "0.17.14"
[dev-dependencies.tokio]
version = "1"
features = ["full"]
[target.'cfg(any(target_os = "macos", target_os = "ios"))'.dependencies.core-foundation]
version = "0.9"
[target.'cfg(any(target_os = "macos", target_os = "ios"))'.dependencies.security-framework]
version = "2.10"
features = ["OSX_10_15"]
[target.'cfg(any(target_os = "macos", target_os = "ios"))'.dependencies.security-framework-sys]
version = "2.9"
[target.'cfg(target_os = "linux")'.dependencies.secret-service]
version = "5.0"
features = ["rt-tokio-crypto-rust"]
optional = true
[target.'cfg(target_os = "windows")'.dependencies.windows]
version = "0.58"
features = [
"Security_Credentials",
"Foundation_Collections",
]
optional = true
[lints.clippy]
print_stderr = "deny"
print_stdout = "deny"