use serde::{Deserialize, Serialize};
#[derive(Debug, Clone)]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
pub struct ClientServerMessage1 {
pub username: String,
#[serde(with = "crate::util::base64_vec_u8")]
pub client_public_key: Vec<u8>,
}
#[derive(Debug, Clone)]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
pub struct ServerClientMessage2 {
#[serde(with = "crate::util::base64_vec_u8")]
pub salt: Vec<u8>,
#[serde(with = "crate::util::base64_vec_u8")]
pub server_public_key: Vec<u8>,
}
#[derive(Debug, Clone)]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
pub struct ClientServerMessage3 {
#[serde(with = "crate::util::base64_vec_u8")]
pub client_proof: Vec<u8>,
}
#[derive(Debug, Clone)]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
pub struct ServerClientMessage4 {
#[serde(with = "crate::util::base64_vec_u8")]
pub server_proof: Vec<u8>,
}