use rustls::server::ClientCertVerifier; use crate::{prelude::CertificateStore, mailuser::Mailuser}; use std::sync::Mutex; #[derive(Debug)] pub struct Verifier { pub store: Mutex, } pub trait FingerPrintStore: Send + Sync { fn get_mailuser(&self, fingerprint: &str) -> Option; fn insert_mailuser(&mut self, fingerprint: &str, user: &str) -> Option; fn contains_mailuser(&self, fingerprint: &str) -> bool; } impl ClientCertVerifier for Verifier { fn client_auth_root_subjects(&self) -> &[rustls::DistinguishedName] { todo!() } fn verify_client_cert( &self, end_entity: &rustls::Certificate, intermediates: &[rustls::Certificate], now: std::time::SystemTime, ) -> Result { todo!() } }