class NTLM::Authenticate

Overview

Client authenticates with the server using the challenge https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-nlmp/033d32cc-88f9-4483-9bf2-b273055038ce

Defined in:

messages/authenticate.cr

Constant Summary

ENDIAN = ["little"]

Client authenticates with the server using the challenge https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-nlmp/033d32cc-88f9-4483-9bf2-b273055038ce

KLASS_NAME = [NTLM::Authenticate]

Client authenticates with the server using the challenge https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-nlmp/033d32cc-88f9-4483-9bf2-b273055038ce

PARTS = [{type: "string", name: protocol, cls: String, onlyif: nil, verify: nil, length: nil, value: -> do "NTLMSSP" end, encoding: nil}, {type: "enum", name: message_type, cls: UInt32, onlyif: nil, verify: nil, value: nil, encoding: Type}, {type: "group", name: lm_response_loc, cls: LmResponseLoc, onlyif: nil, verify: nil, value: nil}, {type: "group", name: nt_response_loc, cls: NtResponseLoc, onlyif: nil, verify: nil, value: nil}, {type: "group", name: domain_loc, cls: DomainLoc, onlyif: nil, verify: nil, value: nil}, {type: "group", name: user_loc, cls: UserLoc, onlyif: nil, verify: nil, value: nil}, {type: "group", name: workstation_loc, cls: WorkstationLoc, onlyif: nil, verify: nil, value: nil}, {type: "group", name: session_key_loc, cls: SessionKeyLoc, onlyif: nil, verify: nil, value: nil}, {type: "enum", name: flags_low, cls: UInt16, onlyif: nil, verify: nil, value: nil, encoding: FlagsLow}, {type: "enum", name: flags_high, cls: UInt16, onlyif: nil, verify: nil, value: nil, encoding: FlagsHigh}, {type: "group", name: version, cls: Version, onlyif: -> do flags_high.negotiate_version? end, verify: nil, value: nil}, {type: "bytes", name: mic, cls: Bytes, onlyif: -> do ((flags_low.negotiate_always_sign? && flags_high.negotiate_key_exchange?) && (!flags_low.negotiate_sign?)) && (!flags_low.negotiate_seal?) end, verify: nil, length: -> do 16 end, value: nil}] of Nil

Client authenticates with the server using the challenge https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-nlmp/033d32cc-88f9-4483-9bf2-b273055038ce

REMAINING = [{type: "bytes", name: buffer, onlyif: nil, verify: nil}] of Nil

Client authenticates with the server using the challenge https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-nlmp/033d32cc-88f9-4483-9bf2-b273055038ce

Class Method Summary

Instance Method Summary

Class Method Detail

def self.bit_fields #

Client authenticates with the server using the challenge https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-nlmp/033d32cc-88f9-4483-9bf2-b273055038ce


[View source]

Instance Method Detail

def __format__ : IO::ByteFormat #

[View source]
def buffer : Bytes #

def buffer=(buffer : Bytes) #

def buffer_start #

[View source]
def domain #

[View source]
def domain=(value : String) #

[View source]
def domain_loc : NTLM::Authenticate::DomainLoc #

def domain_loc=(domain_loc : NTLM::Authenticate::DomainLoc) #

def flags_high : FlagsHigh #

def flags_high=(flags_high : FlagsHigh) #

def flags_low : FlagsLow #

def flags_low=(flags_low : FlagsLow) #

def lm_response : Bytes #

[View source]
def lm_response=(value : Slice(UInt8) | Nil) #

[View source]
def lm_response_loc : NTLM::Authenticate::LmResponseLoc #

def lm_response_loc=(lm_response_loc : NTLM::Authenticate::LmResponseLoc) #

def message_type : Type #

def message_type=(message_type : Type) #

def mic : Bytes #

The MIC is an HMAC_MD5 applied to the concatenation of the previous two NTLM massages using the session key https://social.msdn.microsoft.com/Forums/en-US/74e16cb4-c534-407e-b9cd-ee70a796ee91/msnlmp-dummy-signature-and-mic-generation-ntlmsspnegotiatealwayssign


def mic=(mic : Bytes) #

The MIC is an HMAC_MD5 applied to the concatenation of the previous two NTLM massages using the session key https://social.msdn.microsoft.com/Forums/en-US/74e16cb4-c534-407e-b9cd-ee70a796ee91/msnlmp-dummy-signature-and-mic-generation-ntlmsspnegotiatealwayssign


def nt_response : Bytes #

[View source]
def nt_response=(value : Slice(UInt8) | Nil) #

[View source]
def nt_response_loc : NTLM::Authenticate::NtResponseLoc #

def nt_response_loc=(nt_response_loc : NTLM::Authenticate::NtResponseLoc) #

def protocol : String #

def protocol=(protocol : String) #

def session_key : Bytes #

Session key getter


[View source]
def session_key=(value : Slice(UInt8) | Nil) #

[View source]
def session_key_loc : NTLM::Authenticate::SessionKeyLoc #

def session_key_loc=(session_key_loc : NTLM::Authenticate::SessionKeyLoc) #

def update_buffer #

[View source]
def user #

[View source]
def user=(value : String) #

[View source]

def user_loc=(user_loc : NTLM::Authenticate::UserLoc) #

https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-nlmp/b1a6ceb2-f8ad-462b-b5af-f18527c48175


def version=(version : NTLM::Authenticate::Version) #

https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-nlmp/b1a6ceb2-f8ad-462b-b5af-f18527c48175


def workstation #

[View source]
def workstation=(value : String) #

[View source]
def workstation_loc : NTLM::Authenticate::WorkstationLoc #

def workstation_loc=(workstation_loc : NTLM::Authenticate::WorkstationLoc) #