[][src]Struct rdp::nla::ntlm::Ntlm

pub struct Ntlm { /* fields omitted */ }

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]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

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]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,