Files
opaque-vx/Cargo.toml
T

117 lines
3.1 KiB
TOML
Raw Normal View History

2020-06-05 09:35:14 -07:00
[package]
2022-01-06 06:19:02 +01:00
authors = ["Kevin Lewi <[email protected]>", "François Garillot <[email protected]>"]
2021-08-12 06:25:07 +02:00
categories = ["no-std"]
2020-06-05 09:35:14 -07:00
description = "An implementation of the OPAQUE password-authenticated key exchange protocol"
edition = "2024"
2025-05-19 22:56:25 +02:00
exclude = ["/src/tests/"]
2022-01-06 06:19:02 +01:00
keywords = ["cryptography", "crypto", "opaque", "passwords", "authentication"]
license = "Apache-2.0 OR MIT"
name = "opaque-ke"
2020-06-05 09:35:14 -07:00
readme = "README.md"
2023-03-14 19:07:10 -07:00
repository = "https://github.com/facebook/opaque-ke"
rust-version = "1.85"
2024-10-09 22:13:13 -07:00
version = "3.0.0"
2020-06-05 09:35:14 -07:00
2020-06-11 14:56:34 -07:00
[features]
2023-02-04 22:25:41 +01:00
argon2 = ["dep:argon2"]
curve25519 = ["dep:curve25519-dalek"]
2025-05-19 22:56:25 +02:00
default = ["ristretto255", "serde"]
ecdsa = ["dep:ecdsa", "dep:rfc6979"]
ed25519 = ["dep:curve25519-dalek", "dep:ed25519-dalek"]
ristretto255 = ["dep:curve25519-dalek", "voprf/ristretto255-ciphersuite"]
2025-04-28 21:48:06 +02:00
serde = [
"dep:serde",
"curve25519-dalek?/serde",
2025-05-19 22:56:25 +02:00
"ecdsa?/serde",
"ed25519-dalek?/serde",
2025-04-28 21:48:06 +02:00
"generic-array/serde",
"voprf/serde",
"zeroize/serde",
]
2023-02-04 22:25:41 +01:00
std = ["dep:getrandom"]
2020-06-11 14:56:34 -07:00
2020-06-05 09:35:14 -07:00
[dependencies]
2023-03-05 05:31:18 +01:00
argon2 = { version = "0.5", default-features = false, features = [
2022-01-06 06:19:02 +01:00
"alloc",
], optional = true }
2023-07-25 01:38:33 -07:00
curve25519-dalek = { version = "4", default-features = false, features = [
2023-02-04 01:45:52 +01:00
"zeroize",
], optional = true }
2025-05-19 22:56:25 +02:00
derive-where = { version = "1.4", features = ["zeroize-on-drop"] }
2022-01-06 00:10:57 +01:00
digest = "0.10"
2021-08-17 05:11:53 +02:00
displaydoc = { version = "0.2", default-features = false }
2025-05-19 22:56:25 +02:00
ecdsa = { version = "0.16", default-features = false, features = [
"arithmetic",
"hazmat",
], optional = true }
ed25519-dalek = { version = "2", default-features = false, features = [
"digest",
"hazmat",
], optional = true }
2023-03-05 05:31:07 +01:00
elliptic-curve = { version = "0.13", features = ["hash2curve", "sec1"] }
2021-07-31 00:36:57 +02:00
generic-array = "0.14"
2022-01-06 00:10:57 +01:00
hkdf = "0.12"
hmac = "0.12"
2021-08-12 06:25:07 +02:00
rand = { version = "0.8", default-features = false }
2025-05-19 22:56:25 +02:00
rfc6979 = { version = "0.4", optional = true }
2023-02-04 22:25:41 +01:00
serde = { version = "1", default-features = false, features = [
2022-01-06 06:19:02 +01:00
"derive",
], optional = true }
subtle = { version = "2.6", default-features = false }
2024-09-16 18:01:45 -07:00
voprf = { version = "0.5", default-features = false, features = ["danger"] }
zeroize = { version = "1.8", features = ["zeroize_derive"] }
2020-06-05 09:35:14 -07:00
2021-08-17 05:11:53 +02:00
[target.'cfg(target_arch = "wasm32")'.dependencies]
getrandom = { version = "0.2", features = ["js"], optional = true }
2020-06-05 09:35:14 -07:00
[dev-dependencies]
anyhow = "1"
bincode = "1"
2022-12-11 06:30:05 +01:00
chacha20poly1305 = "0.10"
criterion = "0.5"
cryptoki = "0.9"
elliptic-curve = { version = "0.13", features = ["alloc", "pkcs8"] }
2021-07-31 00:36:57 +02:00
hex = "0.4"
2023-03-05 05:31:07 +01:00
p256 = { version = "0.13", default-features = false, features = [
2025-05-19 22:56:25 +02:00
"ecdsa",
2022-02-25 07:13:22 +01:00
"hash2curve",
"pkcs8",
2022-02-25 07:13:22 +01:00
"voprf",
] }
2023-03-06 20:28:19 +01:00
p384 = { version = "0.13", default-features = false, features = [
"hash2curve",
"pkcs8",
2023-03-06 20:28:19 +01:00
"voprf",
] }
2023-11-16 20:07:46 +01:00
p521 = { version = "0.13.3", default-features = false, features = [
"hash2curve",
"pkcs8",
2023-11-16 20:07:46 +01:00
"voprf",
] }
2025-05-19 22:56:25 +02:00
paste = "1"
2021-07-31 00:36:57 +02:00
proptest = "1"
2022-02-25 07:13:22 +01:00
rand = "0.8"
regex = "1"
2025-05-19 22:56:25 +02:00
sha2 = { version = "0.10", default-features = false }
thiserror = "2"
2023-02-04 01:45:52 +01:00
# MSRV
2025-04-15 22:31:37 +02:00
rustyline = "15"
scrypt = "0.11"
2022-01-06 06:19:02 +01:00
serde_json = "1"
[[bench]]
harness = false
2022-01-06 06:19:02 +01:00
name = "opaque"
2022-02-25 07:13:22 +01:00
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
2022-02-25 07:13:22 +01:00
targets = []
2022-07-24 23:26:48 -04:00
[[example]]
name = "simple_login"
required-features = ["argon2"]
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(test_hsm)'] }