diff --git a/src/connection/verifier.rs b/src/connection/verifier.rs index b7c15f5..d466d2e 100644 --- a/src/connection/verifier.rs +++ b/src/connection/verifier.rs @@ -1,6 +1,9 @@ use crate::{fingerprint::GetFingerprint, mailuser::Mailuser}; use rustls::server::{ClientCertVerified, ClientCertVerifier}; -use std::{sync::{Arc, Mutex}, io::Read}; +use std::{ + io::Read, + sync::{Arc, Mutex}, +}; use x509_parser::prelude::*; #[derive(Debug)] @@ -40,6 +43,11 @@ impl ClientCertVerifier for Verifier { name_match = name == user.to_string(); } }); + if !name_match { + return Err(rustls::Error::InvalidCertificate( + rustls::CertificateError::NotValidForName, + )); + } } } todo!()