4 Protocol Examples
The following is an annotated hex dump of an ASN.1 encoded NegTokenInit2 (section 2.2.1) message.
-
00000000 60 82 01 5d 06 06 2b 06 01 05 05 02 a0 82 01 51 `..]..+........Q 00000010 30 82 01 4d a0 1a 30 18 06 0a 2b 06 01 04 01 82 0..M..0...+..... 00000020 37 02 02 1e 06 0a 2b 06 01 04 01 82 37 02 02 0a 7.....+.....7... 00000030 a2 82 01 01 04 81 fe 4e 45 47 4f 45 58 54 53 01 .......NEGOEXTS. 00000040 00 00 00 00 00 00 00 60 00 00 00 70 00 00 00 cf .......`...p.... 00000050 fa 11 76 5e 12 59 9a 34 7d 76 68 52 bf ce 70 97 ..v^.Y.4}vhR..p. 00000060 45 87 10 bb 82 42 b4 c7 df ba d2 da 89 7a a3 11 E....B.......z.. 00000070 a7 d8 68 46 34 30 95 25 62 dc 13 c5 54 f2 01 00 ..hF40.%b...T... 00000080 00 00 00 00 00 00 00 60 00 00 00 01 00 00 00 00 .......`........ 00000090 00 00 00 00 00 00 00 5c 33 53 0d ea f9 0d 4d b2 .......\3S....M. 000000a0 ec 4a e3 78 6e c3 08 4e 45 47 4f 45 58 54 53 03 .J.xn..NEGOEXTS. 000000b0 00 00 00 01 00 00 00 40 00 00 00 8e 00 00 00 cf .......@........ 000000c0 fa 11 76 5e 12 59 9a 34 7d 76 68 52 bf ce 70 5c ..v^.Y.4}vhR..p\ 000000d0 33 53 0d ea f9 0d 4d b2 ec 4a e3 78 6e c3 08 40 3S....M..J.xn..@ 000000e0 00 00 00 4e 00 00 00 30 4c a0 4a 30 48 30 2a 80 ...N...0L.J0H0*. 000000f0 28 30 26 31 24 30 22 06 03 55 04 03 13 1b 58 4d (0&1$0"..U....XM 00000100 4c 50 72 6f 76 69 64 65 72 20 49 6e 74 65 72 6d LProvider Interm 00000110 65 64 69 61 74 65 20 43 41 30 1a 80 18 30 16 31 ediate CA0...0.1 00000120 14 30 12 06 03 55 04 03 13 0b 58 4d 4c 50 72 6f .0...U....XMLPro 00000130 76 69 64 65 72 a3 2a 30 28 a0 26 1b 24 6e 6f 74 vider.*0(.&.$not 00000140 5f 64 65 66 69 6e 65 64 5f 69 6e 5f 52 46 43 34 _defined_in_RFC4 00000150 31 37 38 40 70 6c 65 61 73 65 5f 69 67 6e 6f 72 178@please_ignor 00000160 65 e
The first part is the ASN.1 encoding of the NegTokenInit2 message. This is the same as for the netTokenInit ([RFC4178] section 4.2) message:
-
00000000 60 82 01 5d 06 06 2b 06 01 05 05 02 a0 82 01 51 `..]..+........Q 00000010 30 82 01 4d a0 1a 30 18 0..M..0.
The mechTypes field is the first field of the NegTokenInit2 message. Since this is a local logon, two types are offered:
SPNegoEx: iso(1).org(3).dod(6).internet(1).private(4).enterprise(1).Microsoft(311).security(2).mechanisms(2).snegoex(30)
NLMP: iso(1).org(3).dod(6).internet(1).private(4).enterprise(1).Microsoft(311).security(2).mechanisms(2).ntlm(10)
00000010 06 0a 2b 06 01 04 01 82 ..+..... 00000020 37 02 02 1e 06 0a 2b 06 01 04 01 82 37 02 02 0a 7.....+.....7...
Next is the mechToken field.
-
00000030 a2 82 01 01 04 81 fe 4e 45 47 4f 45 58 54 53 01 .......NEGOEXTS. 00000040 00 00 00 00 00 00 00 60 00 00 00 70 00 00 00 cf .......`...p.... 00000050 fa 11 76 5e 12 59 9a 34 7d 76 68 52 bf ce 70 97 ..v^.Y.4}vhR..p. 00000060 45 87 10 bb 82 42 b4 c7 df ba d2 da 89 7a a3 11 E....B.......z.. 00000070 a7 d8 68 46 34 30 95 25 62 dc 13 c5 54 f2 01 00 ..hF40.%b...T... 00000080 00 00 00 00 00 00 00 60 00 00 00 01 00 00 00 00 .......`........ 00000090 00 00 00 00 00 00 00 5c 33 53 0d ea f9 0d 4d b2 .......\3S....M. 000000a0 ec 4a e3 78 6e c3 08 4e 45 47 4f 45 58 54 53 03 .J.xn..NEGOEXTS. 000000b0 00 00 00 01 00 00 00 40 00 00 00 8e 00 00 00 cf .......@........ 000000c0 fa 11 76 5e 12 59 9a 34 7d 76 68 52 bf ce 70 5c ..v^.Y.4}vhR..p\ 000000d0 33 53 0d ea f9 0d 4d b2 ec 4a e3 78 6e c3 08 40 3S....M..J.xn..@ 000000e0 00 00 00 4e 00 00 00 30 4c a0 4a 30 48 30 2a 80 ...N...0L.J0H0*. 000000f0 28 30 26 31 24 30 22 06 03 55 04 03 13 1b 58 4d (0&1$0"..U....XM 00000100 4c 50 72 6f 76 69 64 65 72 20 49 6e 74 65 72 6d LProvider Interm 00000110 65 64 69 61 74 65 20 43 41 30 1a 80 18 30 16 31 ediate CA0...0.1 00000120 14 30 12 06 03 55 04 03 13 0b 58 4d 4c 50 72 6f .0...U....XMLPro 00000130 76 69 64 65 72 a3 2a 30 28 a0 26 1b 24 vider.*0(.&.$
Finally is the negHints.hintName field, the value of which is the string "not_defined_in_RFC4178@please_ignore".
-
00000130 6e 6f 74 not 00000140 5f 64 65 66 69 6e 65 64 5f 69 6e 5f 52 46 43 34 _defined_in_RFC4 00000150 31 37 38 40 70 6c 65 61 73 65 5f 69 67 6e 6f 72 178@please_ignor 00000160 65 e