Only use explicit crate features (#306)
This commit is contained in:
+6
-5
@@ -12,12 +12,13 @@ rust-version = "1.60"
|
|||||||
version = "2.0.0"
|
version = "2.0.0"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
curve25519 = ["curve25519-dalek/precomputed-tables"]
|
argon2 = ["dep:argon2"]
|
||||||
|
curve25519 = ["dep:curve25519-dalek", "curve25519-dalek?/precomputed-tables"]
|
||||||
default = ["ristretto255-voprf", "serde"]
|
default = ["ristretto255-voprf", "serde"]
|
||||||
ristretto255 = ["curve25519-dalek", "voprf/ristretto255"]
|
ristretto255 = ["dep:curve25519-dalek", "voprf/ristretto255"]
|
||||||
ristretto255-voprf = ["ristretto255", "voprf/ristretto255-ciphersuite"]
|
ristretto255-voprf = ["ristretto255", "voprf/ristretto255-ciphersuite"]
|
||||||
serde = ["serde_", "generic-array/serde", "voprf/serde"]
|
serde = ["dep:serde", "generic-array/serde", "voprf/serde"]
|
||||||
std = ["getrandom"]
|
std = ["dep:getrandom"]
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
argon2 = { version = "0.4", default-features = false, features = [
|
argon2 = { version = "0.4", default-features = false, features = [
|
||||||
@@ -35,7 +36,7 @@ generic-array = "0.14"
|
|||||||
hkdf = "0.12"
|
hkdf = "0.12"
|
||||||
hmac = "0.12"
|
hmac = "0.12"
|
||||||
rand = { version = "0.8", default-features = false }
|
rand = { version = "0.8", default-features = false }
|
||||||
serde_ = { version = "1", package = "serde", default-features = false, features = [
|
serde = { version = "1", default-features = false, features = [
|
||||||
"derive",
|
"derive",
|
||||||
], optional = true }
|
], optional = true }
|
||||||
subtle = { version = "2.3", default-features = false }
|
subtle = { version = "2.3", default-features = false }
|
||||||
|
|||||||
+2
-6
@@ -35,11 +35,7 @@ const STR_PRIVATE_KEY: [u8; 10] = *b"PrivateKey";
|
|||||||
const STR_OPAQUE_DERIVE_AUTH_KEY_PAIR: [u8; 24] = *b"OPAQUE-DeriveAuthKeyPair";
|
const STR_OPAQUE_DERIVE_AUTH_KEY_PAIR: [u8; 24] = *b"OPAQUE-DeriveAuthKeyPair";
|
||||||
type NonceLen = U32;
|
type NonceLen = U32;
|
||||||
|
|
||||||
#[cfg_attr(
|
#[cfg_attr(feature = "serde", derive(serde::Deserialize, serde::Serialize))]
|
||||||
feature = "serde",
|
|
||||||
derive(serde::Deserialize, serde::Serialize),
|
|
||||||
serde(crate = "serde")
|
|
||||||
)]
|
|
||||||
#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd, ZeroizeOnDrop)]
|
#[derive(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd, ZeroizeOnDrop)]
|
||||||
pub(crate) enum InnerEnvelopeMode {
|
pub(crate) enum InnerEnvelopeMode {
|
||||||
Zero = 0,
|
Zero = 0,
|
||||||
@@ -73,7 +69,7 @@ impl TryFrom<u8> for InnerEnvelopeMode {
|
|||||||
#[cfg_attr(
|
#[cfg_attr(
|
||||||
feature = "serde",
|
feature = "serde",
|
||||||
derive(serde::Deserialize, serde::Serialize),
|
derive(serde::Deserialize, serde::Serialize),
|
||||||
serde(bound = "", crate = "serde")
|
serde(bound = "")
|
||||||
)]
|
)]
|
||||||
#[derive_where(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd, ZeroizeOnDrop)]
|
#[derive_where(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd, ZeroizeOnDrop)]
|
||||||
pub(crate) struct Envelope<CS: CipherSuite>
|
pub(crate) struct Envelope<CS: CipherSuite>
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ pub struct TripleDh;
|
|||||||
#[cfg_attr(
|
#[cfg_attr(
|
||||||
feature = "serde",
|
feature = "serde",
|
||||||
derive(serde::Deserialize, serde::Serialize),
|
derive(serde::Deserialize, serde::Serialize),
|
||||||
serde(bound = "", crate = "serde")
|
serde(bound = "")
|
||||||
)]
|
)]
|
||||||
#[derive_where(Clone, ZeroizeOnDrop)]
|
#[derive_where(Clone, ZeroizeOnDrop)]
|
||||||
#[derive_where(Debug, Eq, Hash, Ord, PartialEq, PartialOrd; KG::Sk)]
|
#[derive_where(Debug, Eq, Hash, Ord, PartialEq, PartialOrd; KG::Sk)]
|
||||||
@@ -67,7 +67,7 @@ pub struct Ke1State<KG: KeGroup> {
|
|||||||
#[cfg_attr(
|
#[cfg_attr(
|
||||||
feature = "serde",
|
feature = "serde",
|
||||||
derive(serde::Deserialize, serde::Serialize),
|
derive(serde::Deserialize, serde::Serialize),
|
||||||
serde(bound = "", crate = "serde")
|
serde(bound = "")
|
||||||
)]
|
)]
|
||||||
#[derive_where(Clone, ZeroizeOnDrop)]
|
#[derive_where(Clone, ZeroizeOnDrop)]
|
||||||
#[derive_where(Debug, Eq, Hash, Ord, PartialEq, PartialOrd; KG::Pk)]
|
#[derive_where(Debug, Eq, Hash, Ord, PartialEq, PartialOrd; KG::Pk)]
|
||||||
@@ -80,7 +80,7 @@ pub struct Ke1Message<KG: KeGroup> {
|
|||||||
#[cfg_attr(
|
#[cfg_attr(
|
||||||
feature = "serde",
|
feature = "serde",
|
||||||
derive(serde::Deserialize, serde::Serialize),
|
derive(serde::Deserialize, serde::Serialize),
|
||||||
serde(bound = "", crate = "serde")
|
serde(bound = "")
|
||||||
)]
|
)]
|
||||||
#[derive_where(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd, ZeroizeOnDrop)]
|
#[derive_where(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd, ZeroizeOnDrop)]
|
||||||
pub struct Ke2State<D: Hash>
|
pub struct Ke2State<D: Hash>
|
||||||
@@ -98,7 +98,7 @@ where
|
|||||||
#[cfg_attr(
|
#[cfg_attr(
|
||||||
feature = "serde",
|
feature = "serde",
|
||||||
derive(serde::Deserialize, serde::Serialize),
|
derive(serde::Deserialize, serde::Serialize),
|
||||||
serde(bound = "", crate = "serde")
|
serde(bound = "")
|
||||||
)]
|
)]
|
||||||
#[derive_where(Clone, ZeroizeOnDrop)]
|
#[derive_where(Clone, ZeroizeOnDrop)]
|
||||||
#[derive_where(Debug, Eq, Hash, Ord, PartialEq, PartialOrd; KG::Pk)]
|
#[derive_where(Debug, Eq, Hash, Ord, PartialEq, PartialOrd; KG::Pk)]
|
||||||
@@ -117,7 +117,7 @@ where
|
|||||||
#[cfg_attr(
|
#[cfg_attr(
|
||||||
feature = "serde",
|
feature = "serde",
|
||||||
derive(serde::Deserialize, serde::Serialize),
|
derive(serde::Deserialize, serde::Serialize),
|
||||||
serde(bound = "", crate = "serde")
|
serde(bound = "")
|
||||||
)]
|
)]
|
||||||
#[derive_where(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd, ZeroizeOnDrop)]
|
#[derive_where(Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd, ZeroizeOnDrop)]
|
||||||
pub struct Ke3Message<D: Hash>
|
pub struct Ke3Message<D: Hash>
|
||||||
|
|||||||
+4
-7
@@ -20,13 +20,10 @@ use crate::key_exchange::group::KeGroup;
|
|||||||
#[cfg_attr(
|
#[cfg_attr(
|
||||||
feature = "serde",
|
feature = "serde",
|
||||||
derive(serde::Deserialize, serde::Serialize),
|
derive(serde::Deserialize, serde::Serialize),
|
||||||
serde(
|
serde(bound(
|
||||||
bound(
|
deserialize = "S: serde::Deserialize<'de>",
|
||||||
deserialize = "S: serde::Deserialize<'de>",
|
serialize = "S: serde::Serialize"
|
||||||
serialize = "S: serde::Serialize"
|
))
|
||||||
),
|
|
||||||
crate = "serde"
|
|
||||||
)
|
|
||||||
)]
|
)]
|
||||||
#[derive_where(Clone)]
|
#[derive_where(Clone)]
|
||||||
#[derive_where(Debug, Eq, Hash, Ord, PartialEq, PartialOrd; KG::Pk, S)]
|
#[derive_where(Debug, Eq, Hash, Ord, PartialEq, PartialOrd; KG::Pk, S)]
|
||||||
|
|||||||
@@ -1124,9 +1124,6 @@
|
|||||||
#[cfg(any(feature = "std", test))]
|
#[cfg(any(feature = "std", test))]
|
||||||
extern crate std;
|
extern crate std;
|
||||||
|
|
||||||
#[cfg(feature = "serde")]
|
|
||||||
extern crate serde_ as serde;
|
|
||||||
|
|
||||||
// Error types
|
// Error types
|
||||||
pub mod errors;
|
pub mod errors;
|
||||||
|
|
||||||
|
|||||||
+21
-30
@@ -41,7 +41,7 @@ use crate::opaque::{MaskedResponse, MaskedResponseLen, ServerSetup};
|
|||||||
#[cfg_attr(
|
#[cfg_attr(
|
||||||
feature = "serde",
|
feature = "serde",
|
||||||
derive(serde::Deserialize, serde::Serialize),
|
derive(serde::Deserialize, serde::Serialize),
|
||||||
serde(bound = "", crate = "serde")
|
serde(bound = "")
|
||||||
)]
|
)]
|
||||||
#[derive_where(Clone)]
|
#[derive_where(Clone)]
|
||||||
#[derive_where(Debug, Eq, Hash, Ord, PartialEq, PartialOrd; voprf::BlindedElement<CS::OprfCs>)]
|
#[derive_where(Debug, Eq, Hash, Ord, PartialEq, PartialOrd; voprf::BlindedElement<CS::OprfCs>)]
|
||||||
@@ -63,7 +63,7 @@ where
|
|||||||
#[cfg_attr(
|
#[cfg_attr(
|
||||||
feature = "serde",
|
feature = "serde",
|
||||||
derive(serde::Deserialize, serde::Serialize),
|
derive(serde::Deserialize, serde::Serialize),
|
||||||
serde(bound = "", crate = "serde")
|
serde(bound = "")
|
||||||
)]
|
)]
|
||||||
#[derive_where(Clone)]
|
#[derive_where(Clone)]
|
||||||
#[derive_where(Debug, Eq, Hash, Ord, PartialEq, PartialOrd; voprf::EvaluationElement<CS::OprfCs>, <CS::KeGroup as KeGroup>::Pk)]
|
#[derive_where(Debug, Eq, Hash, Ord, PartialEq, PartialOrd; voprf::EvaluationElement<CS::OprfCs>, <CS::KeGroup as KeGroup>::Pk)]
|
||||||
@@ -87,7 +87,7 @@ where
|
|||||||
#[cfg_attr(
|
#[cfg_attr(
|
||||||
feature = "serde",
|
feature = "serde",
|
||||||
derive(serde::Deserialize, serde::Serialize),
|
derive(serde::Deserialize, serde::Serialize),
|
||||||
serde(bound = "", crate = "serde")
|
serde(bound = "")
|
||||||
)]
|
)]
|
||||||
#[derive_where(Clone, ZeroizeOnDrop)]
|
#[derive_where(Clone, ZeroizeOnDrop)]
|
||||||
#[derive_where(Debug, Eq, Hash, Ord, PartialEq, PartialOrd; <CS::KeGroup as KeGroup>::Pk)]
|
#[derive_where(Debug, Eq, Hash, Ord, PartialEq, PartialOrd; <CS::KeGroup as KeGroup>::Pk)]
|
||||||
@@ -113,15 +113,12 @@ where
|
|||||||
#[cfg_attr(
|
#[cfg_attr(
|
||||||
feature = "serde",
|
feature = "serde",
|
||||||
derive(serde::Deserialize, serde::Serialize),
|
derive(serde::Deserialize, serde::Serialize),
|
||||||
serde(
|
serde(bound(
|
||||||
bound(
|
deserialize = "<CS::KeyExchange as KeyExchange<OprfHash<CS>, CS::KeGroup>>::KE1Message: \
|
||||||
deserialize = "<CS::KeyExchange as KeyExchange<OprfHash<CS>, \
|
serde::Deserialize<'de>",
|
||||||
CS::KeGroup>>::KE1Message: serde::Deserialize<'de>",
|
serialize = "<CS::KeyExchange as KeyExchange<OprfHash<CS>, CS::KeGroup>>::KE1Message: \
|
||||||
serialize = "<CS::KeyExchange as KeyExchange<OprfHash<CS>, CS::KeGroup>>::KE1Message: \
|
serde::Serialize"
|
||||||
serde::Serialize"
|
))
|
||||||
),
|
|
||||||
crate = "serde"
|
|
||||||
)
|
|
||||||
)]
|
)]
|
||||||
#[derive_where(Clone, ZeroizeOnDrop)]
|
#[derive_where(Clone, ZeroizeOnDrop)]
|
||||||
#[derive_where(
|
#[derive_where(
|
||||||
@@ -147,15 +144,12 @@ where
|
|||||||
#[cfg_attr(
|
#[cfg_attr(
|
||||||
feature = "serde",
|
feature = "serde",
|
||||||
derive(serde::Deserialize, serde::Serialize),
|
derive(serde::Deserialize, serde::Serialize),
|
||||||
serde(
|
serde(bound(
|
||||||
bound(
|
deserialize = "<CS::KeyExchange as KeyExchange<OprfHash<CS>, CS::KeGroup>>::KE2Message: \
|
||||||
deserialize = "<CS::KeyExchange as KeyExchange<OprfHash<CS>, \
|
serde::Deserialize<'de>",
|
||||||
CS::KeGroup>>::KE2Message: serde::Deserialize<'de>",
|
serialize = "<CS::KeyExchange as KeyExchange<OprfHash<CS>, CS::KeGroup>>::KE2Message: \
|
||||||
serialize = "<CS::KeyExchange as KeyExchange<OprfHash<CS>, CS::KeGroup>>::KE2Message: \
|
serde::Serialize"
|
||||||
serde::Serialize"
|
))
|
||||||
),
|
|
||||||
crate = "serde"
|
|
||||||
)
|
|
||||||
)]
|
)]
|
||||||
#[derive_where(Clone)]
|
#[derive_where(Clone)]
|
||||||
#[derive_where(
|
#[derive_where(
|
||||||
@@ -184,15 +178,12 @@ where
|
|||||||
#[cfg_attr(
|
#[cfg_attr(
|
||||||
feature = "serde",
|
feature = "serde",
|
||||||
derive(serde::Deserialize, serde::Serialize),
|
derive(serde::Deserialize, serde::Serialize),
|
||||||
serde(
|
serde(bound(
|
||||||
bound(
|
deserialize = "<CS::KeyExchange as KeyExchange<OprfHash<CS>, CS::KeGroup>>::KE3Message: \
|
||||||
deserialize = "<CS::KeyExchange as KeyExchange<OprfHash<CS>, \
|
serde::Deserialize<'de>",
|
||||||
CS::KeGroup>>::KE3Message: serde::Deserialize<'de>",
|
serialize = "<CS::KeyExchange as KeyExchange<OprfHash<CS>, CS::KeGroup>>::KE3Message: \
|
||||||
serialize = "<CS::KeyExchange as KeyExchange<OprfHash<CS>, CS::KeGroup>>::KE3Message: \
|
serde::Serialize"
|
||||||
serde::Serialize"
|
))
|
||||||
),
|
|
||||||
crate = "serde"
|
|
||||||
)
|
|
||||||
)]
|
)]
|
||||||
#[derive_where(Clone)]
|
#[derive_where(Clone)]
|
||||||
#[derive_where(
|
#[derive_where(
|
||||||
|
|||||||
+21
-31
@@ -58,13 +58,10 @@ const STR_OPAQUE_DERIVE_KEY_PAIR: &[u8; 20] = b"OPAQUE-DeriveKeyPair";
|
|||||||
#[cfg_attr(
|
#[cfg_attr(
|
||||||
feature = "serde",
|
feature = "serde",
|
||||||
derive(serde::Deserialize, serde::Serialize),
|
derive(serde::Deserialize, serde::Serialize),
|
||||||
serde(
|
serde(bound(
|
||||||
bound(
|
deserialize = "S: serde::Deserialize<'de>",
|
||||||
deserialize = "S: serde::Deserialize<'de>",
|
serialize = "S: serde::Serialize"
|
||||||
serialize = "S: serde::Serialize"
|
))
|
||||||
),
|
|
||||||
crate = "serde"
|
|
||||||
)
|
|
||||||
)]
|
)]
|
||||||
#[derive_where(Clone)]
|
#[derive_where(Clone)]
|
||||||
#[derive_where(Debug, Eq, Hash, Ord, PartialEq, PartialOrd; <CS::KeGroup as KeGroup>::Pk, <CS::KeGroup as KeGroup>::Sk, S)]
|
#[derive_where(Debug, Eq, Hash, Ord, PartialEq, PartialOrd; <CS::KeGroup as KeGroup>::Pk, <CS::KeGroup as KeGroup>::Sk, S)]
|
||||||
@@ -88,7 +85,7 @@ pub struct ServerSetup<
|
|||||||
#[cfg_attr(
|
#[cfg_attr(
|
||||||
feature = "serde",
|
feature = "serde",
|
||||||
derive(serde::Deserialize, serde::Serialize),
|
derive(serde::Deserialize, serde::Serialize),
|
||||||
serde(bound = "", crate = "serde")
|
serde(bound = "")
|
||||||
)]
|
)]
|
||||||
#[derive_where(Clone, ZeroizeOnDrop)]
|
#[derive_where(Clone, ZeroizeOnDrop)]
|
||||||
#[derive_where(
|
#[derive_where(
|
||||||
@@ -113,7 +110,7 @@ where
|
|||||||
#[cfg_attr(
|
#[cfg_attr(
|
||||||
feature = "serde",
|
feature = "serde",
|
||||||
derive(serde::Deserialize, serde::Serialize),
|
derive(serde::Deserialize, serde::Serialize),
|
||||||
serde(bound = "", crate = "serde")
|
serde(bound = "")
|
||||||
)]
|
)]
|
||||||
#[derive_where(Clone, ZeroizeOnDrop)]
|
#[derive_where(Clone, ZeroizeOnDrop)]
|
||||||
#[derive_where(Debug, Eq, Hash, Ord, PartialEq, PartialOrd; <CS::KeGroup as KeGroup>::Pk)]
|
#[derive_where(Debug, Eq, Hash, Ord, PartialEq, PartialOrd; <CS::KeGroup as KeGroup>::Pk)]
|
||||||
@@ -130,18 +127,14 @@ where
|
|||||||
#[cfg_attr(
|
#[cfg_attr(
|
||||||
feature = "serde",
|
feature = "serde",
|
||||||
derive(serde::Deserialize, serde::Serialize),
|
derive(serde::Deserialize, serde::Serialize),
|
||||||
serde(
|
serde(bound(
|
||||||
bound(
|
deserialize = "<CS::KeyExchange as KeyExchange<OprfHash<CS>, CS::KeGroup>>::KE1Message: \
|
||||||
deserialize = "<CS::KeyExchange as KeyExchange<OprfHash<CS>, \
|
serde::Deserialize<'de>, <CS::KeyExchange as KeyExchange<OprfHash<CS>, \
|
||||||
CS::KeGroup>>::KE1Message: serde::Deserialize<'de>, <CS::KeyExchange \
|
CS::KeGroup>>::KE1State: serde::Deserialize<'de>",
|
||||||
as KeyExchange<OprfHash<CS>, CS::KeGroup>>::KE1State: \
|
serialize = "<CS::KeyExchange as KeyExchange<OprfHash<CS>, CS::KeGroup>>::KE1Message: \
|
||||||
serde::Deserialize<'de>",
|
serde::Serialize, <CS::KeyExchange as KeyExchange<OprfHash<CS>, \
|
||||||
serialize = "<CS::KeyExchange as KeyExchange<OprfHash<CS>, CS::KeGroup>>::KE1Message: \
|
CS::KeGroup>>::KE1State: serde::Serialize"
|
||||||
serde::Serialize, <CS::KeyExchange as KeyExchange<OprfHash<CS>, \
|
))
|
||||||
CS::KeGroup>>::KE1State: serde::Serialize"
|
|
||||||
),
|
|
||||||
crate = "serde"
|
|
||||||
)
|
|
||||||
)]
|
)]
|
||||||
#[derive_where(Clone, ZeroizeOnDrop)]
|
#[derive_where(Clone, ZeroizeOnDrop)]
|
||||||
#[derive_where(
|
#[derive_where(
|
||||||
@@ -168,15 +161,12 @@ where
|
|||||||
#[cfg_attr(
|
#[cfg_attr(
|
||||||
feature = "serde",
|
feature = "serde",
|
||||||
derive(serde::Deserialize, serde::Serialize),
|
derive(serde::Deserialize, serde::Serialize),
|
||||||
serde(
|
serde(bound(
|
||||||
bound(
|
deserialize = "<CS::KeyExchange as KeyExchange<OprfHash<CS>, CS::KeGroup>>::KE2State: \
|
||||||
deserialize = "<CS::KeyExchange as KeyExchange<OprfHash<CS>, CS::KeGroup>>::KE2State: \
|
serde::Deserialize<'de>",
|
||||||
serde::Deserialize<'de>",
|
serialize = "<CS::KeyExchange as KeyExchange<OprfHash<CS>, CS::KeGroup>>::KE2State: \
|
||||||
serialize = "<CS::KeyExchange as KeyExchange<OprfHash<CS>, CS::KeGroup>>::KE2State: \
|
serde::Serialize"
|
||||||
serde::Serialize"
|
))
|
||||||
),
|
|
||||||
crate = "serde"
|
|
||||||
)
|
|
||||||
)]
|
)]
|
||||||
#[derive_where(Clone, ZeroizeOnDrop)]
|
#[derive_where(Clone, ZeroizeOnDrop)]
|
||||||
#[derive_where(
|
#[derive_where(
|
||||||
@@ -1150,7 +1140,7 @@ where
|
|||||||
#[cfg_attr(
|
#[cfg_attr(
|
||||||
feature = "serde",
|
feature = "serde",
|
||||||
derive(serde::Deserialize, serde::Serialize),
|
derive(serde::Deserialize, serde::Serialize),
|
||||||
serde(bound = "", crate = "serde")
|
serde(bound = "")
|
||||||
)]
|
)]
|
||||||
#[derive_where(Clone)]
|
#[derive_where(Clone)]
|
||||||
#[derive_where(Debug, Eq, Hash, PartialEq)]
|
#[derive_where(Debug, Eq, Hash, PartialEq)]
|
||||||
|
|||||||
Reference in New Issue
Block a user