pub trait AuthenticationProtocol {
// Required methods
fn create_negotiate_message(&mut self) -> RdpResult<Vec<u8>>;
fn read_challenge_message(&mut self, request: &[u8]) -> RdpResult<Vec<u8>>;
fn build_security_interface(&self) -> Box<dyn GenericSecurityService>;
fn get_domain_name(&self) -> Vec<u8> ⓘ;
fn get_user_name(&self) -> Vec<u8> ⓘ;
fn get_password(&self) -> Vec<u8> ⓘ;
}
Expand description
Authentication interface trait Actually use by NTLMv2
Required Methods§
Sourcefn create_negotiate_message(&mut self) -> RdpResult<Vec<u8>>
fn create_negotiate_message(&mut self) -> RdpResult<Vec<u8>>
This is the first message asked by CSSP
Sourcefn read_challenge_message(&mut self, request: &[u8]) -> RdpResult<Vec<u8>>
fn read_challenge_message(&mut self, request: &[u8]) -> RdpResult<Vec<u8>>
Read the challenge message from server and produce the challenge response
Sourcefn build_security_interface(&self) -> Box<dyn GenericSecurityService>
fn build_security_interface(&self) -> Box<dyn GenericSecurityService>
Once the two first step are done We can built the associated security interface to the underlying authenticate protocole
Sourcefn get_domain_name(&self) -> Vec<u8> ⓘ
fn get_domain_name(&self) -> Vec<u8> ⓘ
Get domain name encoded as expected in the negotiated payload
Sourcefn get_user_name(&self) -> Vec<u8> ⓘ
fn get_user_name(&self) -> Vec<u8> ⓘ
Get user name encoded as expected in the negotiated payload
Sourcefn get_password(&self) -> Vec<u8> ⓘ
fn get_password(&self) -> Vec<u8> ⓘ
Get password encoded as expected in the negotiated payload