public Type3Message(Type2Message type2) : base(3) { _type2 = type2; _level = NtlmSettings.DefaultAuthLevel; _challenge = (byte[])type2.Nonce.Clone(); _domain = type2.TargetName; _host = "Xamarin.WebTests.TestMachine"; _username = "******"; Flags = (NtlmFlags)0x8200; if ((type2.Flags & NtlmFlags.NegotiateUnicode) != 0) { Flags |= NtlmFlags.NegotiateUnicode; } else { Flags |= NtlmFlags.NegotiateOem; } if ((type2.Flags & NtlmFlags.NegotiateNtlm2Key) != 0) { Flags |= NtlmFlags.NegotiateNtlm2Key; } }
public Type3Message(Type2Message type2) : base(3) { _type2 = type2; _level = DefaultAuthLevel; _challenge = (byte[])type2.Nonce.Clone(); _domain = type2.TargetName; _host = Environment.MachineName; _username = Environment.UserName; Flags = (NtlmFlags)0x8200; if ((type2.Flags & NtlmFlags.NegotiateUnicode) != 0) { Flags |= NtlmFlags.NegotiateUnicode; } else { Flags |= NtlmFlags.NegotiateOem; } if ((type2.Flags & NtlmFlags.NegotiateNtlm2Key) != 0) { Flags |= NtlmFlags.NegotiateNtlm2Key; } }
public Type3Message(Type2Message type2) : base(3) { _type2 = type2; #if XAMARIN_WEBTESTS _level = NtlmSettings.DefaultAuthLevel; #else _level = DefaultAuthLevel; #endif _challenge = (byte[])type2.Nonce.Clone(); _domain = type2.TargetName; #if XAMARIN_WEBTESTS _host = "Xamarin.WebTests.TestMachine"; _username = "******"; #else _host = Environment.MachineName; _username = Environment.UserName; #endif Flags = (NtlmFlags)0x8200; if ((type2.Flags & NtlmFlags.NegotiateUnicode) != 0) { Flags |= NtlmFlags.NegotiateUnicode; } else { Flags |= NtlmFlags.NegotiateOem; } if ((type2.Flags & NtlmFlags.NegotiateNtlm2Key) != 0) { Flags |= NtlmFlags.NegotiateNtlm2Key; } }
public Type3Message () : base (3) { if (DefaultAuthLevel != NtlmAuthLevel.LM_and_NTLM) throw new InvalidOperationException ( "Refusing to use legacy-mode LM/NTLM authentication " + "unless explicitly enabled using DefaultAuthLevel."); // default values _domain = Environment.UserDomainName; _host = Environment.MachineName; _username = Environment.UserName; _level = NtlmAuthLevel.LM_and_NTLM; Flags = (NtlmFlags) 0x8201; }
public Type3Message(Type2Message type2, Version osVersion, NtlmAuthLevel level, string userName, string password, string host, NtlmFixes fixes = NtlmFixes.None) : base(3) { this.type2 = type2; this.fixes = fixes; challenge = type2.Nonce; Domain = type2.TargetName; OSVersion = osVersion; Username = userName; Password = password; Level = level; Host = host; Flags = 0; if (osVersion != null) { Flags |= NtlmFlags.NegotiateVersion; } if ((type2.Flags & NtlmFlags.NegotiateUnicode) != 0) { Flags |= NtlmFlags.NegotiateUnicode; } else { Flags |= NtlmFlags.NegotiateOem; } if ((type2.Flags & NtlmFlags.NegotiateNtlm) != 0) { Flags |= NtlmFlags.NegotiateNtlm; } if ((type2.Flags & NtlmFlags.NegotiateNtlm2Key) != 0) { Flags |= NtlmFlags.NegotiateNtlm2Key; } if ((type2.Flags & NtlmFlags.NegotiateTargetInfo) != 0) { Flags |= NtlmFlags.NegotiateTargetInfo; } if ((type2.Flags & NtlmFlags.RequestTarget) != 0) { Flags |= NtlmFlags.RequestTarget; } }
public static void Compute(Type2Message type2, NtlmAuthLevel level, string username, string password, string domain, out byte[] lm, out byte[] ntlm) { lm = null; switch (level) { case NtlmAuthLevel.LM_and_NTLM: lm = ComputeLM(password, type2.Nonce); ntlm = ComputeNtlm(password, type2.Nonce); break; case NtlmAuthLevel.LM_and_NTLM_and_try_NTLMv2_Session: if ((type2.Flags & NtlmFlags.NegotiateNtlm2Key) == 0) { goto case NtlmAuthLevel.LM_and_NTLM; } ComputeNtlmV2Session(password, type2.Nonce, out lm, out ntlm); break; case NtlmAuthLevel.NTLM_only: if ((type2.Flags & NtlmFlags.NegotiateNtlm2Key) != 0) { ComputeNtlmV2Session(password, type2.Nonce, out lm, out ntlm); } else { ntlm = ComputeNtlm(password, type2.Nonce); } break; case NtlmAuthLevel.NTLMv2_only: ntlm = ComputeNtlmV2(type2, username, password, domain); if (type2.TargetInfo.Timestamp != 0) { lm = new byte[24]; } break; default: throw new InvalidOperationException(); } }
public Type3Message() : base(3) { if (DefaultAuthLevel != NtlmAuthLevel.LM_and_NTLM) { throw new InvalidOperationException( "Refusing to use legacy-mode LM/NTLM authentication " + "unless explicitly enabled using DefaultAuthLevel."); } // default values #if XAMARIN_WEBTESTS _domain = "Xamarin.WebTests.TestDomain"; _host = "Xamarin.WebTests.TestMachine"; _username = "******"; #else _domain = Environment.UserDomainName; _host = Environment.MachineName; _username = Environment.UserName; #endif _level = NtlmAuthLevel.LM_and_NTLM; Flags = (NtlmFlags)0x8201; }
public Type3Message(Type2Message type2, NtlmAuthLevel level, string userName, string password, string host) : base(3) { this.type2 = type2; challenge = type2.Nonce; Domain = type2.TargetName; Username = userName; Password = password; Level = level; Host = host; Flags = 0; if ((type2.Flags & NtlmFlags.NegotiateUnicode) != 0) { Flags |= NtlmFlags.NegotiateUnicode; } else { Flags |= NtlmFlags.NegotiateOem; } if ((type2.Flags & NtlmFlags.NegotiateNtlm) != 0) { Flags |= NtlmFlags.NegotiateNtlm; } if ((type2.Flags & NtlmFlags.NegotiateNtlm2Key) != 0) { Flags |= NtlmFlags.NegotiateNtlm2Key; } if ((type2.Flags & NtlmFlags.NegotiateVersion) != 0) { Flags |= NtlmFlags.NegotiateVersion; } }
public Type3Message (Type2Message type2) : base (3) { _type2 = type2; _level = DefaultAuthLevel; _challenge = (byte[]) type2.Nonce.Clone (); _domain = type2.TargetName; _host = Environment.MachineName; _username = Environment.UserName; Flags = (NtlmFlags) 0x8200; if ((type2.Flags & NtlmFlags.NegotiateUnicode) != 0) Flags |= NtlmFlags.NegotiateUnicode; else Flags |= NtlmFlags.NegotiateOem; if ((type2.Flags & NtlmFlags.NegotiateNtlm2Key) != 0) Flags |= NtlmFlags.NegotiateNtlm2Key; }
public static void Compute (Type2Message type2, NtlmAuthLevel level, string username, string password, string domain, out byte[] lm, out byte[] ntlm) { lm = null; switch (level) { case NtlmAuthLevel.LM_and_NTLM: lm = Compute_LM (password, type2.Nonce); ntlm = Compute_NTLM (password, type2.Nonce); break; case NtlmAuthLevel.LM_and_NTLM_and_try_NTLMv2_Session: if ((type2.Flags & NtlmFlags.NegotiateNtlm2Key) == 0) goto case NtlmAuthLevel.LM_and_NTLM; Compute_NTLMv2_Session (password, type2.Nonce, out lm, out ntlm); break; case NtlmAuthLevel.NTLM_only: if ((type2.Flags & NtlmFlags.NegotiateNtlm2Key) != 0) Compute_NTLMv2_Session (password, type2.Nonce, out lm, out ntlm); else ntlm = Compute_NTLM (password, type2.Nonce); break; case NtlmAuthLevel.NTLMv2_only: ntlm = Compute_NTLMv2 (type2, username, password, domain); break; default: throw new InvalidOperationException (); } }
public static void Compute(Mono.Security.Protocol.Ntlm.Type2Message type2, NtlmAuthLevel level, string username, string password, string domain, out byte[] lm, out byte[] ntlm) { }