Skip to content

Commit 8552687

Browse files
chore: update dependencies (#47)
* update generic_array * other dependencies * use voprf from crates.io
1 parent bbd0aa2 commit 8552687

File tree

9 files changed

+29
-25
lines changed

9 files changed

+29
-25
lines changed

Cargo.toml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,25 +17,25 @@ keywords = [
1717
categories = ["cryptography", "privacy"]
1818

1919
[dependencies]
20-
async-trait = "0.1.56"
21-
base64 = "0.22.0"
22-
generic-array = "0.14.5"
20+
async-trait = "0.1.89"
21+
base64 = "0.22"
22+
generic-array = "1.3.5"
2323
rand = "0.8"
2424
serde = "1"
25-
sha2 = "0.10.2"
25+
sha2 = "0.10.9"
2626
thiserror = "2"
2727
tls_codec = { version = "0.4.2" }
2828
tls_codec_derive = "0.4.2"
29-
voprf = { git = "https://github.com/facebook/voprf", features = ["serde"] }
29+
voprf = { version = "0.6.0-pre.0", features = ["serde"] }
3030
p384 = { version = "0.13.0", default-features = false, features = [
3131
"hash2curve",
3232
"voprf",
3333
] }
3434
blind-rsa-signatures = "0.15.0"
3535
http = "1"
36-
typenum = "1.15.0"
36+
typenum = "1"
3737
nom = "8"
38-
tokio = { version = "1.20.0", features = ["full"], optional = true }
38+
tokio = { version = "1", features = ["full"], optional = true }
3939
trait-variant = "0.1.2"
4040

4141
[features]
@@ -46,7 +46,7 @@ test-utils = ["tokio"]
4646
[dev-dependencies]
4747
privacypass = { path = ".", features = ["kat", "test-utils"] }
4848
futures = "0.3"
49-
criterion = { version = "0.5.0", features = ["async_futures", "async_tokio"] }
49+
criterion = { version = "0.8.0", features = ["async_futures", "async_tokio"] }
5050
hex = { version = "0.4.3", features = ["serde"] }
5151
serde_json = "1.0"
5252

benches/private.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ async fn issue_private_token_response<CS: PrivateCipherSuite>(
2929
.unwrap()
3030
}
3131

32-
async fn redeem_private_token<Nk: ArrayLength<u8>, CS: PrivateCipherSuite>(
32+
async fn redeem_private_token<Nk: ArrayLength, CS: PrivateCipherSuite>(
3333
key_store: MemoryKeyStoreVoprf<CS>,
3434
nonce_store: MemoryNonceStore,
3535
token: Token<Nk>,

benches/public.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ async fn issue_public_token_response(
3535
.unwrap()
3636
}
3737

38-
async fn redeem_public_token<Nk: ArrayLength<u8>>(
38+
async fn redeem_public_token<Nk: ArrayLength>(
3939
origin_key_store: public_memory_store::OriginMemoryKeyStore,
4040
nonce_store: MemoryNonceStore,
4141
token: privacypass::auth::authorize::Token<Nk>,

src/amortized_tokens/response.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
//! Response implementation of the Amortized Tokens protocol.
22
3+
use generic_array::GenericArray;
34
use tls_codec::{Deserialize, Serialize, Size};
45
use typenum::Unsigned;
56
use voprf::{EvaluationElement, Group, Proof, Result, VoprfClient};
@@ -94,12 +95,14 @@ impl<CS: PrivateCipherSuite> AmortizedBatchTokenResponse<CS> {
9495
.iter()
9596
.zip(token_state.token_inputs.iter())
9697
{
98+
let authenticator =
99+
GenericArray::from_slice(authenticator.as_ref()).clone();
97100
let token = Token::new(
98101
token_input.token_type,
99102
token_input.nonce,
100103
token_state.challenge_digest,
101104
token_input.token_key_id,
102-
authenticator.to_owned(),
105+
authenticator,
103106
);
104107
tokens.push(token);
105108
}

src/auth/authorize.rs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -30,15 +30,15 @@ use super::{base64_char, key_name, opt_spaces, space};
3030
/// ```
3131
3232
#[derive(Clone, Debug)]
33-
pub struct Token<Nk: ArrayLength<u8>> {
33+
pub struct Token<Nk: ArrayLength> {
3434
token_type: TokenType,
3535
nonce: Nonce,
3636
challenge_digest: ChallengeDigest,
3737
token_key_id: TokenKeyId,
3838
authenticator: GenericArray<u8, Nk>,
3939
}
4040

41-
impl<Nk: ArrayLength<u8>> Size for Token<Nk> {
41+
impl<Nk: ArrayLength> Size for Token<Nk> {
4242
fn tls_serialized_len(&self) -> usize {
4343
self.token_type.tls_serialized_len()
4444
+ self.nonce.tls_serialized_len()
@@ -48,7 +48,7 @@ impl<Nk: ArrayLength<u8>> Size for Token<Nk> {
4848
}
4949
}
5050

51-
impl<Nk: ArrayLength<u8>> Serialize for Token<Nk> {
51+
impl<Nk: ArrayLength> Serialize for Token<Nk> {
5252
fn tls_serialize<W: Write>(&self, writer: &mut W) -> Result<usize, Error> {
5353
Ok(self.token_type.tls_serialize(writer)?
5454
+ self.nonce.tls_serialize(writer)?
@@ -58,7 +58,7 @@ impl<Nk: ArrayLength<u8>> Serialize for Token<Nk> {
5858
}
5959
}
6060

61-
impl<Nk: ArrayLength<u8>> Deserialize for Token<Nk> {
61+
impl<Nk: ArrayLength> Deserialize for Token<Nk> {
6262
fn tls_deserialize<R: std::io::Read>(bytes: &mut R) -> Result<Self, Error>
6363
where
6464
Self: Sized,
@@ -77,12 +77,12 @@ impl<Nk: ArrayLength<u8>> Deserialize for Token<Nk> {
7777
nonce,
7878
challenge_digest,
7979
token_key_id,
80-
authenticator: GenericArray::clone_from_slice(&authenticator),
80+
authenticator: GenericArray::from_slice(&authenticator).clone(),
8181
})
8282
}
8383
}
8484

85-
impl<Nk: ArrayLength<u8>> Token<Nk> {
85+
impl<Nk: ArrayLength> Token<Nk> {
8686
/// Creates a new Token.
8787
pub const fn new(
8888
token_type: TokenType,
@@ -132,7 +132,7 @@ impl<Nk: ArrayLength<u8>> Token<Nk> {
132132
///
133133
/// # Errors
134134
/// Returns an error if the token is not valid.
135-
pub fn build_authorization_header<Nk: ArrayLength<u8>>(
135+
pub fn build_authorization_header<Nk: ArrayLength>(
136136
token: &Token<Nk>,
137137
) -> Result<(HeaderName, HeaderValue), BuildError> {
138138
let value = format!(
@@ -162,7 +162,7 @@ pub enum BuildError {
162162
///
163163
/// # Errors
164164
/// Returns an error if the header value is not valid.
165-
pub fn parse_authorization_header<Nk: ArrayLength<u8>>(
165+
pub fn parse_authorization_header<Nk: ArrayLength>(
166166
value: &HeaderValue,
167167
) -> Result<Token<Nk>, ParseError> {
168168
let s = value.to_str().map_err(|_| ParseError::InvalidInput)?;
@@ -229,7 +229,7 @@ fn parse_private_tokens(input: &str) -> IResult<&str, Vec<&str>> {
229229
separated_list1(tag(","), parse_private_token).parse(input)
230230
}
231231

232-
fn parse_header_value<Nk: ArrayLength<u8>>(input: &str) -> Result<Vec<Token<Nk>>, ParseError> {
232+
fn parse_header_value<Nk: ArrayLength>(input: &str) -> Result<Vec<Token<Nk>>, ParseError> {
233233
let (output, tokens) = parse_private_tokens(input).map_err(|_| ParseError::InvalidInput)?;
234234
if !output.is_empty() {
235235
return Err(ParseError::InvalidInput);
@@ -262,7 +262,7 @@ fn builder_parser_test() {
262262
nonce,
263263
challenge_digest,
264264
token_key_id,
265-
GenericArray::clone_from_slice(&authenticator),
265+
*GenericArray::from_slice(&authenticator),
266266
);
267267
let (header_name, header_value) = build_authorization_header(&token).unwrap();
268268

src/private_tokens/response.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
//! Response implementation of the Privately Verifiable Token protocol.
22
3+
use generic_array::GenericArray;
34
use tls_codec::{Deserialize, Serialize, Size};
45
use typenum::Unsigned;
56
use voprf::*;
@@ -109,6 +110,7 @@ impl<CS: PrivateCipherSuite> TokenResponse<CS> {
109110
token_state.public_key,
110111
)
111112
.map_err(|_| IssueTokenError::InvalidTokenResponse)?;
113+
let authenticator = GenericArray::from_slice(authenticator.as_ref()).clone();
112114

113115
Ok(Token::new(
114116
CS::token_type(),

src/private_tokens/server.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ impl<CS: PrivateCipherSuite> Server<CS> {
107107
///
108108
/// # Errors
109109
/// Returns an error if the token is invalid.
110-
pub async fn redeem_token<PKS: PrivateKeyStore, NS: NonceStore, Nk: ArrayLength<u8>>(
110+
pub async fn redeem_token<PKS: PrivateKeyStore, NS: NonceStore, Nk: ArrayLength>(
111111
&self,
112112
key_store: &PKS,
113113
nonce_store: &NS,

src/public_tokens/response.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,7 @@ impl TokenResponse {
4040
&options,
4141
)
4242
.map_err(|_| IssueTokenError::InvalidTokenResponse)?;
43-
let authenticator: GenericArray<u8, U256> =
44-
GenericArray::clone_from_slice(&signature[0..256]);
43+
let authenticator: GenericArray<u8, U256> = *GenericArray::from_slice(&signature[0..256]);
4544
Ok(Token::new(
4645
TokenType::Public,
4746
token_state.token_input.nonce,

src/public_tokens/server.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ impl OriginServer {
130130
///
131131
/// # Errors
132132
/// Returns an error if the token is invalid.
133-
pub async fn redeem_token<OKS: OriginKeyStore, NS: NonceStore, Nk: ArrayLength<u8>>(
133+
pub async fn redeem_token<OKS: OriginKeyStore, NS: NonceStore, Nk: ArrayLength>(
134134
&self,
135135
key_store: &OKS,
136136
nonce_store: &NS,

0 commit comments

Comments
 (0)