[package]
edition = "2024"
name = "auths-crypto"
version = "0.1.2"
build = false
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Cryptographic primitives for Auths: KERI key parsing and DID:key encoding"
homepage = "https://github.com/auths-dev/auths"
readme = "README.md"
keywords = [
"cryptography",
"ed25519",
"did",
"verification",
"signing",
]
categories = ["cryptography"]
license = "Apache-2.0"
repository = "https://github.com/auths-dev/auths"
[features]
cnsa = [
"native",
"dep:p384",
"dep:aes-gcm",
]
default = ["native"]
fips = [
"native",
"dep:aws-lc-rs",
]
native = [
"dep:ring",
"dep:tokio",
"dep:p256",
"dep:chacha20poly1305",
"dep:hkdf",
"dep:hmac",
"dep:sha2",
"dep:subtle",
]
test-utils = ["dep:ring"]
wasm = [
"dep:js-sys",
"dep:wasm-bindgen",
"dep:wasm-bindgen-futures",
"dep:web-sys",
]
[lib]
name = "auths_crypto"
path = "src/lib.rs"
[[test]]
name = "integration"
path = "tests/integration.rs"
[[test]]
name = "wasm_provider"
path = "tests/wasm_provider.rs"
[dependencies.aes-gcm]
version = "=0.10.3"
features = ["std"]
optional = true
[dependencies.async-trait]
version = "0.1"
[dependencies.base64]
version = "0.22.1"
[dependencies.bs58]
version = "0.5.1"
[dependencies.cesride]
version = "0.6"
[dependencies.chacha20poly1305]
version = "=0.10.1"
features = ["std"]
optional = true
[dependencies.hex]
version = "0.4"
[dependencies.hkdf]
version = "=0.12.4"
optional = true
[dependencies.hmac]
version = "=0.12.1"
optional = true
[dependencies.js-sys]
version = "0.3"
optional = true
[dependencies.p256]
version = "=0.13.2"
features = ["ecdsa"]
optional = true
[dependencies.p384]
version = "0.13"
features = [
"ecdsa",
"pkcs8",
]
optional = true
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.sha2]
version = "=0.10.9"
optional = true
[dependencies.ssh-key]
version = "0.6"
features = ["ed25519"]
[dependencies.subtle]
version = "=2.6.1"
optional = true
[dependencies.thiserror]
version = "2"
[dependencies.wasm-bindgen]
version = "0.2"
optional = true
[dependencies.wasm-bindgen-futures]
version = "0.4"
optional = true
[dependencies.web-sys]
version = "0.3"
features = [
"Crypto",
"CryptoKey",
"SubtleCrypto",
]
optional = true
[dependencies.zeroize]
version = "=1.8.2"
features = [
"serde",
"derive",
]
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.aws-lc-rs]
version = "1.16"
features = ["fips"]
optional = true
default-features = false
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.ring]
version = "=0.17.14"
optional = true
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.tokio]
version = "1"
features = ["full"]
optional = true
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.ring]
version = "=0.17.14"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.tokio]
version = "1"
features = [
"full",
"macros",
"rt",
]
[target.'cfg(target_arch = "wasm32")'.dev-dependencies.wasm-bindgen-test]
version = "0.3"
[lints.clippy]
dbg_macro = "deny"
disallowed_methods = "deny"
exit = "deny"
expect_used = "deny"
print_stderr = "deny"
print_stdout = "deny"
unwrap_used = "deny"
[lints.rustdoc]
broken_intra_doc_links = "deny"