# File lib/net/ntlm/client/session.rb, line 26 def authenticate! calculate_user_session_key! type3_opts = { :lm_response => lmv2_resp, :ntlm_response => ntlmv2_resp, :domain => domain, :user => username, :workstation => workstation, :flag => (challenge_message.flag & client.flags) } t3 = Message::Type3.create type3_opts if negotiate_key_exchange? t3.enable(:session_key) rc4 = OpenSSL::Cipher.new("rc4") rc4.encrypt rc4.key = user_session_key sk = rc4.update exported_session_key sk << rc4.final t3.session_key = sk end t3 end