+tls13 extensions; +Chrome 70, Firefox 63 parrots

Adds support for following TLS 1.3 extensions:
 - PSKKeyExchangeModes
 - SupportedVersions
 - KeyShare
and uses them to implement newest Chrome and Firefox parrots.

Tests for default Golang uTLS were regenerated because
they previously used TLS-1.2 as max version.
This commit is contained in:
Sergey Frolov 2018-12-07 18:30:34 -07:00 committed by sergeyfrolov
parent 04ef89985b
commit b84d7d5f05
36 changed files with 3149 additions and 335 deletions

View file

@ -1,23 +1,26 @@
>>> Flow 1 (client to server)
00000000 16 03 01 00 c6 01 00 00 c2 03 03 00 00 00 00 00 |................|
00000000 16 03 01 00 f8 01 00 00 f4 03 03 00 00 00 00 00 |................|
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000020 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 00 |........... ....|
00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000040 00 00 00 00 00 00 00 00 00 00 00 00 00 2c cc a8 |.............,..|
00000040 00 00 00 00 00 00 00 00 00 00 00 00 00 32 cc a8 |.............2..|
00000050 cc a9 c0 2f c0 2b c0 30 c0 2c c0 27 c0 13 c0 23 |.../.+.0.,.'...#|
00000060 c0 09 c0 14 c0 0a 00 9c 00 9d 00 3c 00 2f 00 35 |...........<./.5|
00000070 c0 12 00 0a 00 05 c0 11 c0 07 01 00 00 4d 00 05 |.............M..|
00000080 00 05 01 00 00 00 00 00 0a 00 0a 00 08 00 1d 00 |................|
00000090 17 00 18 00 19 00 0b 00 02 01 00 00 0d 00 18 00 |................|
000000a0 16 08 04 08 05 08 06 04 01 04 03 05 01 05 03 06 |................|
000000b0 01 06 03 02 01 02 03 ff 01 00 01 00 00 12 00 00 |................|
000000c0 00 2b 00 07 06 03 03 03 02 03 01 |.+.........|
00000070 c0 12 00 0a 00 05 c0 11 c0 07 13 01 13 03 13 02 |................|
00000080 01 00 00 79 00 05 00 05 01 00 00 00 00 00 0a 00 |...y............|
00000090 0a 00 08 00 1d 00 17 00 18 00 19 00 0b 00 02 01 |................|
000000a0 00 00 0d 00 18 00 16 08 04 08 05 08 06 04 01 04 |................|
000000b0 03 05 01 05 03 06 01 06 03 02 01 02 03 ff 01 00 |................|
000000c0 01 00 00 12 00 00 00 2b 00 09 08 03 04 03 03 03 |.......+........|
000000d0 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f e5 7d |....3.&.$... /.}|
000000e0 a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 |.G.bC.(.._.).0..|
000000f0 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 |........_X.;t|
>>> Flow 2 (server to client)
00000000 16 03 03 00 51 02 00 00 4d 03 03 25 53 6d 66 b9 |....Q...M..%Smf.|
00000010 79 9f 70 3b 4d 7d bc 0f f0 1d ee 39 2f 58 fa 9e |y.p;M}.....9/X..|
00000020 8c eb 83 b8 6f 12 68 80 76 df 14 20 ad ea c7 14 |....o.h.v.. ....|
00000030 09 53 24 90 56 14 99 6a 09 c5 0a 23 78 87 01 f2 |.S$.V..j...#x...|
00000040 54 a3 24 24 36 fc d1 cd b4 5d c2 cc 00 9c 00 00 |T.$$6....]......|
00000000 16 03 03 00 51 02 00 00 4d 03 03 53 99 8c 34 d0 |....Q...M..S..4.|
00000010 a0 4a d5 31 69 d6 d7 c8 7a 88 84 05 0d 12 74 d3 |.J.1i...z.....t.|
00000020 4e 88 d6 40 81 a6 ee d9 cb 21 c3 20 a5 b4 15 b3 |N..@.....!. ....|
00000030 9f e0 5f ff 6f 89 b4 b4 52 fc 30 ac b5 4e cd 63 |.._.o...R.0..N.c|
00000040 68 f8 df f0 96 ca 57 0b bc 25 85 da 00 9c 00 00 |h.....W..%......|
00000050 05 ff 01 00 01 00 16 03 03 02 59 0b 00 02 55 00 |..........Y...U.|
00000060 02 52 00 02 4f 30 82 02 4b 30 82 01 b4 a0 03 02 |.R..O0..K0......|
00000070 01 02 02 09 00 e8 f0 9d 3f e2 5b ea a6 30 0d 06 |........?.[..0..|
@ -67,17 +70,17 @@
00000060 c5 70 0f 08 83 48 e9 48 ef 6e 50 8b 05 7e e5 84 |.p...H.H.nP..~..|
00000070 25 fa 55 c7 ae 31 02 27 00 ef 3f 98 86 20 12 89 |%.U..1.'..?.. ..|
00000080 91 59 28 b4 f7 d7 af d2 69 61 35 14 03 03 00 01 |.Y(.....ia5.....|
00000090 01 16 03 03 00 28 00 00 00 00 00 00 00 00 e8 67 |.....(.........g|
000000a0 29 c3 34 6c 2d 13 a6 85 09 60 18 9a f5 92 08 a2 |).4l-....`......|
000000b0 2d a6 a5 b5 f1 91 fd 74 b6 f0 d1 23 10 d8 |-......t...#..|
00000090 01 16 03 03 00 28 00 00 00 00 00 00 00 00 c7 85 |.....(..........|
000000a0 f5 46 9d ec 9c ca e4 c7 88 13 78 cf f9 37 48 81 |.F........x..7H.|
000000b0 78 57 80 d7 87 21 ef 6e 5a 36 b0 4f f6 11 |xW...!.nZ6.O..|
>>> Flow 4 (server to client)
00000000 14 03 03 00 01 01 16 03 03 00 28 90 2f e3 b2 ae |..........(./...|
00000010 a0 49 e0 a6 71 fa 20 98 2c 6a 65 78 b3 63 89 a1 |.I..q. .,jex.c..|
00000020 1f 19 ee 33 57 02 68 21 d6 0f 2b d0 cf 41 8c f7 |...3W.h!..+..A..|
00000030 1f 66 3d |.f=|
00000000 14 03 03 00 01 01 16 03 03 00 28 4b 2c ce e2 19 |..........(K,...|
00000010 94 64 d3 d6 d8 2a 55 f3 6d a4 d8 89 b6 e1 fe 35 |.d...*U.m......5|
00000020 8d a8 1b 2d 31 8e 50 96 bd 4a 5d 86 4b 50 69 b2 |...-1.P..J].KPi.|
00000030 3a 5e bb |:^.|
>>> Flow 5 (client to server)
00000000 17 03 03 00 1e 00 00 00 00 00 00 00 01 f6 2a 46 |..............*F|
00000010 c4 7f 93 01 a2 5b 47 1f f1 ec 16 3c 58 55 48 94 |.....[G....<XUH.|
00000020 2c 3c 06 15 03 03 00 1a 00 00 00 00 00 00 00 02 |,<..............|
00000030 6f 5e 44 ff 0f 63 fd 52 65 9c ac 64 11 01 90 04 |o^D..c.Re..d....|
00000040 09 07 |..|
00000000 17 03 03 00 1e 00 00 00 00 00 00 00 01 42 2a 74 |.............B*t|
00000010 6d ab 21 86 c6 d7 b0 59 ed 5f ac 59 09 47 00 fc |m.!....Y._.Y.G..|
00000020 1a c7 2c 15 03 03 00 1a 00 00 00 00 00 00 00 02 |..,.............|
00000030 fc 8b 1e ab dc e1 5a e8 97 bd b3 be 0e 66 4d c3 |......Z......fM.|
00000040 2b f1 |+.|