2003-12-15 Sebastien Pouliot <spouliot@videotron.ca>
[mono.git] / mcs / class / Mono.Security / Test / Mono.Security.Protocol.Ntlm / ChallengeResponseTest.cs
1 //
2 // Mono.Security.Protocol.Ntlm.ChallengeResponseTest
3 //
4 // Author:
5 //      Sebastien Pouliot (spouliot@motus.com)
6 //
7 // Copyright (C) 2003 Motus Technologies Inc. (http://www.motus.com)
8 //
9
10 using System;
11 using System.Text;
12
13 using Mono.Security.Protocol.Ntlm;
14 using NUnit.Framework;
15
16 namespace MonoTests.Mono.Security.Protocol.Ntlm {
17
18         [TestFixture]
19         public class ChallengeResponseTest : Assertion {
20
21                 [Test]
22                 // Example from http://www.innovation.ch/java/ntlm.html
23                 public void BeeblebroxSrvNonce () 
24                 {
25                         byte[] SrvNonce = Encoding.ASCII.GetBytes ("SrvNonce");
26                         using (ChallengeResponse ntlm = new ChallengeResponse ("Beeblebrox", SrvNonce)) {
27                                 AssertEquals ("NT", "E0-E0-0D-E3-10-4A-1B-F2-05-3F-07-C7-DD-A8-2D-3C-48-9A-E9-89-E1-B0-00-D3", BitConverter.ToString (ntlm.NT));
28                                 AssertEquals ("LM", "AD-87-CA-6D-EF-E3-46-85-B9-C4-3C-47-7A-8C-42-D6-00-66-7D-68-92-E7-E8-97", BitConverter.ToString (ntlm.LM));
29                         }
30                 }
31
32                 [Test]
33                 // Example from http://packetstormsecurity.nl/Crackers/NT/l0phtcrack/l0phtcrack2.5-readme.html
34                 public void L0phtCrack () 
35                 {
36                         byte[] SrvNonce = new byte [8] { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 };
37                         using (ChallengeResponse ntlm = new ChallengeResponse ("WELCOME", SrvNonce)) {
38                                 AssertEquals ("NT", "7A-CE-90-85-AB-CC-37-59-38-0B-1C-68-62-E3-98-C3-C0-EF-9C-FC-22-E8-A2-C2", BitConverter.ToString (ntlm.NT));
39                                 AssertEquals ("LM", "CA-12-00-72-3C-41-D5-77-AB-18-C7-64-C6-DE-F3-4F-A6-1B-FA-06-71-EA-5F-C8", BitConverter.ToString (ntlm.LM));
40                         }
41                 }
42         }
43 }