use rand::rngs::OsRng;
use rand::RngCore;
use crate::errors::*;
use crate::frame::*;
use crate::peer::Identity;
use crate::traits::AuthConfig;
impl AuthConfig for () {
fn get_intent(&self) -> AuthIntent {
AuthIntent::Neither
}
fn sign_challenge(
&self,
_client_chal: &ChallengeData,
_server_chal: &ChallengeData,
_side: Side,
) -> Result<Option<ResponseData>, AuthError> {
Err(AuthError::Unsupported)
}
fn verify_response(
&self,
_client_chal: &ChallengeData,
_server_chal: &ChallengeData,
_producer_side: Side,
_resp: &ResponseData,
) -> Result<Option<Identity>, AuthError> {
Err(AuthError::Unsupported)
}
}
pub fn gen_challenge() -> ChallengeData {
let mut buf = [0; 16];
OsRng.fill_bytes(&mut buf);
ChallengeData::from_nonce_buf(buf)
}