117 lines
3.1 KiB
TOML
117 lines
3.1 KiB
TOML
[package]
|
|
authors = ["Kevin Lewi <[email protected]>", "François Garillot <[email protected]>"]
|
|
categories = ["no-std"]
|
|
description = "An implementation of the OPAQUE password-authenticated key exchange protocol"
|
|
edition = "2024"
|
|
exclude = ["/src/tests/"]
|
|
keywords = ["cryptography", "crypto", "opaque", "passwords", "authentication"]
|
|
license = "Apache-2.0 OR MIT"
|
|
name = "opaque-ke"
|
|
readme = "README.md"
|
|
repository = "https://github.com/facebook/opaque-ke"
|
|
rust-version = "1.85"
|
|
version = "3.0.0"
|
|
|
|
[features]
|
|
argon2 = ["dep:argon2"]
|
|
curve25519 = ["dep:curve25519-dalek"]
|
|
default = ["ristretto255", "serde"]
|
|
ecdsa = ["dep:ecdsa", "dep:rfc6979"]
|
|
ed25519 = ["dep:curve25519-dalek", "dep:ed25519-dalek"]
|
|
ristretto255 = ["dep:curve25519-dalek", "voprf/ristretto255-ciphersuite"]
|
|
serde = [
|
|
"dep:serde",
|
|
"curve25519-dalek?/serde",
|
|
"ecdsa?/serde",
|
|
"ed25519-dalek?/serde",
|
|
"generic-array/serde",
|
|
"voprf/serde",
|
|
"zeroize/serde",
|
|
]
|
|
std = ["dep:getrandom"]
|
|
|
|
[dependencies]
|
|
argon2 = { version = "0.5", default-features = false, features = [
|
|
"alloc",
|
|
], optional = true }
|
|
curve25519-dalek = { version = "4", default-features = false, features = [
|
|
"zeroize",
|
|
], optional = true }
|
|
derive-where = { version = "1.4", features = ["zeroize-on-drop"] }
|
|
digest = "0.10"
|
|
displaydoc = { version = "0.2", default-features = false }
|
|
ecdsa = { version = "0.16", default-features = false, features = [
|
|
"arithmetic",
|
|
"hazmat",
|
|
], optional = true }
|
|
ed25519-dalek = { version = "2", default-features = false, features = [
|
|
"digest",
|
|
"hazmat",
|
|
], optional = true }
|
|
elliptic-curve = { version = "0.13", features = ["hash2curve", "sec1"] }
|
|
generic-array = "0.14"
|
|
hkdf = "0.12"
|
|
hmac = "0.12"
|
|
rand = { version = "0.8", default-features = false }
|
|
rfc6979 = { version = "0.4", optional = true }
|
|
serde = { version = "1", default-features = false, features = [
|
|
"derive",
|
|
], optional = true }
|
|
subtle = { version = "2.6", default-features = false }
|
|
voprf = { version = "0.5", default-features = false, features = ["danger"] }
|
|
zeroize = { version = "1.8", features = ["zeroize_derive"] }
|
|
|
|
[target.'cfg(target_arch = "wasm32")'.dependencies]
|
|
getrandom = { version = "0.2", features = ["js"], optional = true }
|
|
|
|
[dev-dependencies]
|
|
anyhow = "1"
|
|
bincode = "1"
|
|
chacha20poly1305 = "0.10"
|
|
criterion = "0.5"
|
|
cryptoki = "0.9"
|
|
elliptic-curve = { version = "0.13", features = ["alloc", "pkcs8"] }
|
|
hex = "0.4"
|
|
p256 = { version = "0.13", default-features = false, features = [
|
|
"ecdsa",
|
|
"hash2curve",
|
|
"pkcs8",
|
|
"voprf",
|
|
] }
|
|
p384 = { version = "0.13", default-features = false, features = [
|
|
"hash2curve",
|
|
"pkcs8",
|
|
"voprf",
|
|
] }
|
|
p521 = { version = "0.13.3", default-features = false, features = [
|
|
"hash2curve",
|
|
"pkcs8",
|
|
"voprf",
|
|
] }
|
|
paste = "1"
|
|
proptest = "1"
|
|
rand = "0.8"
|
|
regex = "1"
|
|
sha2 = { version = "0.10", default-features = false }
|
|
thiserror = "2"
|
|
# MSRV
|
|
rustyline = "15"
|
|
scrypt = "0.11"
|
|
serde_json = "1"
|
|
|
|
[[bench]]
|
|
harness = false
|
|
name = "opaque"
|
|
|
|
[package.metadata.docs.rs]
|
|
all-features = true
|
|
rustdoc-args = ["--cfg", "docsrs"]
|
|
targets = []
|
|
|
|
[[example]]
|
|
name = "simple_login"
|
|
required-features = ["argon2"]
|
|
|
|
[lints.rust]
|
|
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_hsm)'] }
|