public void TestGetRequestV3AuthPriv() { const string bytes = "30 81 80 02 01 03 30 0F 02 02 6C 99 02 03 00 FF" + "E3 04 01 07 02 01 03 04 38 30 36 04 0D 80 00 1F" + "88 80 E9 63 00 00 D6 1F F4 49 02 01 14 02 01 35" + "04 07 6C 65 78 6D 61 72 6B 04 0C 80 50 D9 A1 E7" + "81 B6 19 80 4F 06 C0 04 08 00 00 00 01 44 2C A3" + "B5 04 30 4B 4F 10 3B 73 E1 E4 BD 91 32 1B CB 41" + "1B A1 C1 D1 1D 2D B7 84 16 CA 41 BF B3 62 83 C4" + "29 C5 A4 BC 32 DA 2E C7 65 A5 3D 71 06 3C 5B 56" + "FB 04 A4"; MD5AuthenticationProvider auth = new MD5AuthenticationProvider(new OctetString("testpass")); var registry = new UserRegistry(); registry.Add(new OctetString("lexmark"), new DefaultPrivacyProvider(auth)); var messages = MessageFactory.ParseMessages(bytes, registry); Assert.AreEqual(1, messages.Count); Assert.AreEqual(SnmpType.Unknown, messages[0].TypeCode()); registry.Add(new OctetString("lexmark"), new DESPrivacyProvider(new OctetString("passtest"), auth)); messages = MessageFactory.ParseMessages(bytes, registry); Assert.AreEqual(1, messages.Count); GetRequestMessage get = (GetRequestMessage)messages[0]; Assert.AreEqual(27801, get.MessageId()); //Assert.AreEqual(SecurityLevel.None | SecurityLevel.Reportable, get.Level); Assert.AreEqual("lexmark", get.Community().ToString()); //OctetString digest = new MD5AuthenticationProvider(new OctetString("testpass")).ComputeHash(get); //Assert.AreEqual(digest, get.Parameters.AuthenticationParameters); }
public void TestGetV3() { const string bytes = "30 68 02 01 03 30 0F 02 02 6A 08 02 03 00 FF E3" + "04 01 04 02 01 03 04 23 30 21 04 0D 80 00 1F 88" + "80 E9 63 00 00 D6 1F F4 49 02 01 05 02 02 0F 1B" + "04 05 6C 65 78 74 6D 04 00 04 00 30 2D 04 0D 80" + "00 1F 88 80 E9 63 00 00 D6 1F F4 49 04 00 A0 1A" + "02 02 2C 6A 02 01 00 02 01 00 30 0E 30 0C 06 08" + "2B 06 01 02 01 01 03 00 05 00"; UserRegistry registry = new UserRegistry(); registry.Add(new OctetString("lextm"), DefaultPrivacyProvider.DefaultPair); IList <ISnmpMessage> messages = MessageFactory.ParseMessages(bytes, registry); Assert.Equal(1, messages.Count); GetRequestMessage get = (GetRequestMessage)messages[0]; Assert.Equal(27144, get.MessageId()); //Assert.Equal(SecurityLevel.None | SecurityLevel.Reportable, get.Level); Assert.Equal("lextm", get.Community().ToString()); }
public void TestGetRequestV3Auth() { const string bytes = "30 73" + "02 01 03 " + "30 0F " + "02 02 35 41 " + "02 03 00 FF E3" + "04 01 05" + "02 01 03" + "04 2E " + "30 2C" + "04 0D 80 00 1F 88 80 E9 63 00 00 D6 1F F4 49 " + "02 01 0D " + "02 01 57 " + "04 05 6C 65 78 6C 69 " + "04 0C 1C 6D 67 BF B2 38 ED 63 DF 0A 05 24 " + "04 00 " + "30 2D " + "04 0D 80 00 1F 88 80 E9 63 00 00 D6 1F F4 49 " + "04 00 " + "A0 1A 02 02 01 AF 02 01 00 02 01 00 30 0E 30 0C 06 08 2B 06 01 02 01 01 03 00 05 00"; UserRegistry registry = new UserRegistry(); registry.Add(new OctetString("lexli"), new DefaultPrivacyProvider(new MD5AuthenticationProvider(new OctetString("testpass")))); IList <ISnmpMessage> messages = MessageFactory.ParseMessages(bytes, registry); Assert.Equal(1, messages.Count); GetRequestMessage get = (GetRequestMessage)messages[0]; Assert.Equal(13633, get.MessageId()); //Assert.Equal(SecurityLevel.None | SecurityLevel.Reportable, get.Level); Assert.Equal("lexli", get.Community().ToString()); //OctetString digest = new MD5AuthenticationProvider(new OctetString("testpass")).ComputeHash(get); //Assert.Equal(digest, get.Parameters.AuthenticationParameters); }