[−][src]Struct rdp::nla::ntlm::Ntlm
Methods
impl Ntlm
[src]
pub fn new(domain: String, user: String, password: String) -> Self
[src]
Ctor of the NTLMv2 authentication layer TODO need to use secure string
NTLMv2 is an authentication mayer and need credentials
Example
use rdp::nla::ntlm::Ntlm; let auth_layer = Ntlm::new("domain".to_string(), "user".to_string(), "password".to_string());
pub fn from_hash(domain: String, user: String, password_hash: &[u8]) -> Self
[src]
When you have in restricted mode You can use directly NTLM hash
Example
use rdp::nla::ntlm::Ntlm; let auth_layer = Ntlm::from_hash("domain".to_string(), "user".to_string(), &vec![0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]);
Trait Implementations
impl AuthenticationProtocol for Ntlm
[src]
fn create_negotiate_message(&mut self) -> RdpResult<Vec<u8>>
[src]
Create Negotiate message for our NTLMv2 implementation This message is used to inform server about the capabilities of the client
fn read_challenge_message(&mut self, request: &[u8]) -> RdpResult<Vec<u8>>
[src]
Read the server challenge This is the second payload in cssp connection
fn build_security_interface(&self) -> Box<dyn GenericSecurityService>
[src]
We are now able to build a security interface that will be used by the CSSP manager to cipherring message (private keys) To detect MITM attack
fn get_domain_name(&self) -> Vec<u8>
[src]
Retrieve the domain name encoded as expected during negotiate payload
fn get_user_name(&self) -> Vec<u8>
[src]
Retrieve the user name encoded as expected during negotiate payload
fn get_password(&self) -> Vec<u8>
[src]
Retrieve the password encoded as expected during negotiate payload
Auto Trait Implementations
impl RefUnwindSafe for Ntlm
impl Send for Ntlm
impl Sync for Ntlm
impl Unpin for Ntlm
impl UnwindSafe for Ntlm
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,