Add randomized_pwd tests
This commit is contained in:
@@ -278,6 +278,9 @@ pub struct ClientRegistrationFinishResult<CS: CipherSuite> {
|
||||
/// Instance of the ClientRegistration, only used in tests for checking zeroize
|
||||
#[cfg(test)]
|
||||
pub state: ClientRegistration<CS>,
|
||||
/// Password derived key, only used in tests
|
||||
#[cfg(test)]
|
||||
pub randomized_pwd: Vec<u8>,
|
||||
}
|
||||
|
||||
// Cannot be derived because it would require for CS to be Clone.
|
||||
@@ -289,6 +292,8 @@ impl<CS: CipherSuite> Clone for ClientRegistrationFinishResult<CS> {
|
||||
server_s_pk: self.server_s_pk.clone(),
|
||||
#[cfg(test)]
|
||||
state: self.state.clone(),
|
||||
#[cfg(test)]
|
||||
randomized_pwd: self.randomized_pwd.clone(),
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -333,6 +338,8 @@ impl<CS: CipherSuite> ClientRegistration<CS> {
|
||||
server_s_pk: r2.server_s_pk,
|
||||
#[cfg(test)]
|
||||
state: self,
|
||||
#[cfg(test)]
|
||||
randomized_pwd: password_derived_key
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -63,6 +63,7 @@ pub struct TestVectorParameters {
|
||||
pub KE3: Vec<u8>,
|
||||
pub export_key: Vec<u8>,
|
||||
pub session_key: Vec<u8>,
|
||||
pub randomized_pwd: Vec<u8>,
|
||||
}
|
||||
|
||||
// Pulled from "OPAQUE-3DH Test Vector 1" and "OPAQUE-3DH Test Vector 6"
|
||||
@@ -482,6 +483,7 @@ fn populate_test_vectors(values: &Value) -> TestVectorParameters {
|
||||
blind_login: parse!(values, "blind_login"),
|
||||
export_key: parse!(values, "export_key"),
|
||||
session_key: parse!(values, "session_key"),
|
||||
randomized_pwd: parse!(values, "randomized_pwd"),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -567,6 +569,10 @@ fn test_registration_upload() -> Result<(), ProtocolError> {
|
||||
},
|
||||
)?;
|
||||
|
||||
assert_eq!(
|
||||
hex::encode(parameters.randomized_pwd),
|
||||
hex::encode(result.randomized_pwd)
|
||||
);
|
||||
assert_eq!(
|
||||
hex::encode(parameters.registration_upload),
|
||||
hex::encode(result.message.serialize())
|
||||
|
||||
Reference in New Issue
Block a user