crypto/tls: add QUIC 0-RTT APIs

Fixes #60107

Change-Id: I158b1c2d80d8ebb5ed7a8e6f313f69060754e220
Reviewed-on: https://go-review.googlesource.com/c/go/+/496995
Reviewed-by: Damien Neil <dneil@google.com>
Reviewed-by: Roland Shoemaker <roland@golang.org>
Run-TryBot: Filippo Valsorda <filippo@golang.org>
Auto-Submit: Filippo Valsorda <filippo@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
This commit is contained in:
Filippo Valsorda 2023-05-22 19:23:04 +02:00 committed by Gopher Robot
parent 866e886415
commit 1143de0f03
40 changed files with 2407 additions and 2232 deletions

View file

@ -1,93 +1,93 @@
>>> Flow 1 (client to server)
00000000 16 03 01 00 ca 01 00 00 c6 03 03 59 35 73 ce f7 |...........Y5s..|
00000010 78 94 f6 bd 85 74 68 02 45 fd 8e b3 10 dc b2 dc |x....th.E.......|
00000020 80 ce 49 c1 0f 82 41 d2 0a 54 5d 20 2b 58 d8 7c |..I...A..T] +X.||
00000030 54 a4 ab 45 58 96 99 46 e2 a3 f3 f2 95 3f c0 2d |T..EX..F.....?.-|
00000040 55 d1 73 90 9e 15 2a f4 60 62 f7 f3 00 04 13 01 |U.s...*.`b......|
00000000 16 03 01 00 ca 01 00 00 c6 03 03 ec 31 94 24 24 |............1.$$|
00000010 c0 2c d1 9b d3 b1 5a f5 d6 cb 22 85 0b 81 77 e9 |.,....Z..."...w.|
00000020 fb 6c 82 1d 49 2c 23 71 c3 a5 71 20 cc 60 08 08 |.l..I,#q..q .`..|
00000030 2f 52 d8 95 0c 27 39 d9 7d 06 8f ee ad 1c 8e 48 |/R...'9.}......H|
00000040 51 1e e6 ae 94 c9 89 7c 52 dd df 12 00 04 13 01 |Q......|R.......|
00000050 00 ff 01 00 00 79 00 0b 00 04 03 00 01 02 00 0a |.....y..........|
00000060 00 0c 00 0a 00 1d 00 17 00 1e 00 19 00 18 00 16 |................|
00000070 00 00 00 17 00 00 00 0d 00 1e 00 1c 04 03 05 03 |................|
00000080 06 03 08 07 08 08 08 09 08 0a 08 0b 08 04 08 05 |................|
00000090 08 06 04 01 05 01 06 01 00 2b 00 03 02 03 04 00 |.........+......|
000000a0 2d 00 02 01 01 00 33 00 26 00 24 00 1d 00 20 e2 |-.....3.&.$... .|
000000b0 6f 9c cd 54 39 56 7d 93 2a 6e e1 07 36 65 6d 4c |o..T9V}.*n..6emL|
000000c0 f1 ce bd 51 b3 e3 71 14 a9 90 c8 34 98 73 60 |...Q..q....4.s`|
000000a0 2d 00 02 01 01 00 33 00 26 00 24 00 1d 00 20 e7 |-.....3.&.$... .|
000000b0 71 0c af 05 74 8e 37 8f b3 da db 34 e3 54 72 78 |q...t.7....4.Trx|
000000c0 95 da 57 8e 6e 78 1b bc d7 06 23 de 6c 34 5f |..W.nx....#.l4_|
>>> Flow 2 (server to client)
00000000 16 03 03 00 7a 02 00 00 76 03 03 00 00 00 00 00 |....z...v.......|
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 2b 58 d8 7c |........... +X.||
00000030 54 a4 ab 45 58 96 99 46 e2 a3 f3 f2 95 3f c0 2d |T..EX..F.....?.-|
00000040 55 d1 73 90 9e 15 2a f4 60 62 f7 f3 13 01 00 00 |U.s...*.`b......|
00000020 00 00 00 00 00 00 00 00 00 00 00 20 cc 60 08 08 |........... .`..|
00000030 2f 52 d8 95 0c 27 39 d9 7d 06 8f ee ad 1c 8e 48 |/R...'9.}......H|
00000040 51 1e e6 ae 94 c9 89 7c 52 dd df 12 13 01 00 00 |Q......|R.......|
00000050 2e 00 2b 00 02 03 04 00 33 00 24 00 1d 00 20 2f |..+.....3.$... /|
00000060 e5 7d a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 |.}.G.bC.(.._.).0|
00000070 ff f6 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 14 |.........._X.;t.|
00000080 03 03 00 01 01 17 03 03 00 17 85 5f 67 10 88 de |..........._g...|
00000090 22 82 8e d4 ea 9b 66 96 c3 a2 f5 d0 50 bc 5c ce |".....f.....P.\.|
000000a0 b7 17 03 03 02 22 06 d4 5d a7 93 32 d7 26 72 d5 |....."..]..2.&r.|
000000b0 17 de e2 4b 17 80 65 ca e6 3f 71 dc 61 13 dd a7 |...K..e..?q.a...|
000000c0 33 77 30 d8 ca 67 ad db ea 39 a9 a4 2c 0b b0 09 |3w0..g...9..,...|
000000d0 7d d6 1f 45 ef 82 59 2e bf 51 e1 9e 5c 0e 70 bb |}..E..Y..Q..\.p.|
000000e0 9b 92 80 f8 d2 2b b8 25 46 76 b2 3f 20 57 51 bb |.....+.%Fv.? WQ.|
000000f0 f8 d8 4e bd 1f d0 7f 5c b9 72 a4 aa 81 7a b4 5c |..N....\.r...z.\|
00000100 8a bd cd 30 46 9e 59 9f ab 6e 18 bc 78 3d 6b 21 |...0F.Y..n..x=k!|
00000110 e1 e5 f6 0d e9 6c 3e c3 08 72 a3 ca d7 44 0f 2c |.....l>..r...D.,|
00000120 63 ff cc a3 29 a6 c5 b9 3c 57 be d4 3a 6c 8c 4a |c...)...<W..:l.J|
00000130 18 cf 3e 11 66 33 d6 a6 4a 5c a0 9b 53 8a 79 bd |..>.f3..J\..S.y.|
00000140 d4 4a 48 52 28 10 67 14 c0 74 6c fb e4 0b 79 b6 |.JHR(.g..tl...y.|
00000150 c6 74 08 03 de 47 51 16 6d 63 fa bf a3 47 0e 34 |.t...GQ.mc...G.4|
00000160 e2 d8 75 5b 0a 0c 49 8e 0d 39 45 62 70 b0 1b e4 |..u[..I..9Ebp...|
00000170 5e d7 73 57 5d 22 44 16 aa 18 4a 07 48 bf c1 32 |^.sW]"D...J.H..2|
00000180 ab 70 b2 41 5e 55 fc 05 cb da bd f2 02 aa d9 be |.p.A^U..........|
00000190 d9 e6 08 f3 61 06 df fb 29 cc 28 b2 d0 52 64 48 |....a...).(..RdH|
000001a0 d7 8c 1f 21 68 dc 67 74 8b 39 a0 15 00 78 b9 37 |...!h.gt.9...x.7|
000001b0 fe 89 f0 53 f7 92 66 4a a5 91 72 ac 7d 7c 23 f7 |...S..fJ..r.}|#.|
000001c0 50 82 22 76 27 fd 47 c0 2f ce e9 95 8a 0c 88 a6 |P."v'.G./.......|
000001d0 a9 84 df 2a 28 5d 90 c1 20 66 10 ab f9 a1 30 9c |...*(].. f....0.|
000001e0 c8 25 0e 72 50 0a ee c6 df ae 1c 43 83 fc ca 18 |.%.rP......C....|
000001f0 56 c9 f9 55 ba fb a7 13 f7 0e 37 0b ca 49 94 6e |V..U......7..I.n|
00000200 92 5b d4 ed 1c fd 21 e3 1e a0 1c 9c 66 b1 8a fb |.[....!.....f...|
00000210 ac 7e b2 31 2a d6 c1 ac ea 8c 84 53 41 f8 cf dd |.~.1*......SA...|
00000220 bb 6c 91 72 37 bf 1d 02 99 3d 58 9e 1a ec 24 f8 |.l.r7....=X...$.|
00000230 ae d0 59 63 6a f9 48 3b c5 b2 13 e4 fa 1c 4f 8c |..Ycj.H;......O.|
00000240 13 80 ce 0a f8 68 39 4e 65 79 cf e2 12 cc b6 39 |.....h9Ney.....9|
00000250 a6 d2 cb 6c 98 32 67 97 94 8d 1e fe d6 ce da 97 |...l.2g.........|
00000260 0e b3 78 aa 03 c2 13 fa 9b e8 97 20 b7 62 15 6d |..x........ .b.m|
00000270 44 d1 f7 67 ff d3 e4 9f db 3a e9 20 cd ae 77 a3 |D..g.....:. ..w.|
00000280 88 e5 9b 49 31 67 b9 d0 4a 82 36 81 21 1d b8 d5 |...I1g..J.6.!...|
00000290 f7 5a 10 99 6a 8b 5d e2 a8 e5 70 77 8a 25 14 e8 |.Z..j.]...pw.%..|
000002a0 c5 46 55 6a 62 0f 24 b1 dc 55 d1 35 49 31 f0 fd |.FUjb.$..U.5I1..|
000002b0 8a 6f e4 99 e5 63 65 fd bb ae f3 2a a8 89 fa 64 |.o...ce....*...d|
000002c0 c5 2b 05 69 c9 68 ca e3 17 03 03 00 a4 74 cb 54 |.+.i.h.......t.T|
000002d0 0a dd 78 7c b7 30 57 96 bc 02 49 43 26 d0 34 34 |..x|.0W...IC&.44|
000002e0 20 2f 68 b0 14 20 51 75 6b 98 fb 95 c1 05 15 ac | /h.. Quk.......|
000002f0 ed 15 d6 d9 3c fb 7b bb c6 9f 13 49 37 b7 43 59 |....<.{....I7.CY|
00000300 69 be 0b a1 f8 df d4 e7 b5 5e f8 65 03 e3 f1 e9 |i........^.e....|
00000310 84 6a b3 75 57 fc 36 6d 84 6b fb 35 04 10 0b 1e |.j.uW.6m.k.5....|
00000320 f2 0f 92 40 e9 41 b4 ca 10 4f 34 70 12 e6 26 81 |...@.A...O4p..&.|
00000330 64 ea b5 ae 41 e4 1c 4b d3 61 ee 7a 1f a2 96 c6 |d...A..K.a.z....|
00000340 04 15 68 1e a6 20 aa 2c c5 df 98 33 ff 06 7e fe |..h.. .,...3..~.|
00000350 f0 0c 29 fe e2 fc 53 aa 52 21 37 37 52 7e 26 e4 |..)...S.R!77R~&.|
00000360 02 03 e8 95 a5 54 19 10 d5 b5 a2 b3 f0 ae e5 13 |.....T..........|
00000370 e6 17 03 03 00 35 dc cb 96 a6 f9 61 79 5b 4f f9 |.....5.....ay[O.|
00000380 58 65 17 0c 22 83 0f 36 c8 2a d9 fa 28 bb 5d a9 |Xe.."..6.*..(.].|
00000390 96 45 f2 f2 73 ab de d5 85 5a 24 49 4a 9b 79 83 |.E..s....Z$IJ.y.|
000003a0 76 15 81 ab bc 02 37 17 f2 aa 72 17 03 03 00 86 |v.....7...r.....|
000003b0 1c da ba ea cb 26 ca a9 92 f9 3a 5a 4a 6e 2e 7e |.....&....:ZJn.~|
000003c0 2f 52 a2 b4 65 01 e5 de 8b 6c 89 ce 22 c6 0c 65 |/R..e....l.."..e|
000003d0 36 0b 7a 0e 30 77 31 59 27 c4 4a 4a 53 5d 85 10 |6.z.0w1Y'.JJS]..|
000003e0 6f 84 e5 52 1d 04 af 55 45 71 08 ac e1 d7 42 a2 |o..R...UEq....B.|
000003f0 54 a7 9c db b9 56 5c af 08 57 76 a7 9d 1f d4 55 |T....V\..Wv....U|
00000400 58 cc 31 82 ea 67 6c 04 f4 46 70 15 22 d4 59 43 |X.1..gl..Fp.".YC|
00000410 c4 f2 e5 bc 09 e1 01 dd 81 bf 82 ea 0e cc 18 c0 |................|
00000420 2c fd cc 45 dd 2d a3 fb 64 de 4e e2 ab c5 59 53 |,..E.-..d.N...YS|
00000430 95 f3 a9 64 fc 59 |...d.Y|
00000080 03 03 00 01 01 17 03 03 00 17 92 81 ab 83 5b 87 |..............[.|
00000090 d9 40 d1 9d d9 85 46 94 48 fc 56 a5 d6 ed 37 c0 |.@....F.H.V...7.|
000000a0 59 17 03 03 02 22 bb c7 b6 2f a0 48 1d ff a6 51 |Y....".../.H...Q|
000000b0 b0 3d 0b bf b2 3e d3 a8 72 74 e7 27 4d 4a 9a f6 |.=...>..rt.'MJ..|
000000c0 19 bc 79 fe 44 b5 c9 82 5f 29 7a f8 e3 7f 57 04 |..y.D..._)z...W.|
000000d0 be ca b2 34 a7 56 85 46 8f 43 af 01 86 09 23 7b |...4.V.F.C....#{|
000000e0 bf 65 0d da 94 0c f3 91 bf 7d 6a e0 2b 46 64 fc |.e.......}j.+Fd.|
000000f0 36 ef b0 4b 9c 1c 5a 98 08 f6 52 b1 37 74 40 2f |6..K..Z...R.7t@/|
00000100 f4 d0 c7 3f cc 57 69 dd 81 58 63 f2 c5 66 a5 b6 |...?.Wi..Xc..f..|
00000110 8f b6 8c 62 7f 07 8b e3 cc 00 be 96 7e 1f dc 36 |...b........~..6|
00000120 5d 6c 37 2b 68 9c b5 b6 36 49 0d 83 02 fc c3 43 |]l7+h...6I.....C|
00000130 8b a9 7a db b6 6b e8 35 2e a0 04 24 ce 90 d1 97 |..z..k.5...$....|
00000140 11 cd b1 cf 2d 8f 62 ad 86 0e 72 8b 05 68 1a 97 |....-.b...r..h..|
00000150 8c 4d 3e b4 e6 31 53 b6 5d 4b 5f 0f 90 13 47 be |.M>..1S.]K_...G.|
00000160 d0 87 53 f8 de 3f 32 06 ef 3c 2d 05 05 d5 9d bf |..S..?2..<-.....|
00000170 11 69 5b c4 9e e2 1d 1f b5 c6 30 45 11 25 88 ed |.i[.......0E.%..|
00000180 fe fa 62 c5 63 86 91 f4 9e ec dc bb 3a 9a ad 7a |..b.c.......:..z|
00000190 2a b2 8d f1 1a bf f5 62 d6 83 4d bc 97 57 2e d3 |*......b..M..W..|
000001a0 70 59 2f db d7 96 0a 84 21 b1 89 53 c9 7e cb 29 |pY/.....!..S.~.)|
000001b0 b0 19 a8 66 78 a2 55 e9 2a f6 ff eb f4 5d 41 b6 |...fx.U.*....]A.|
000001c0 ec 92 f1 70 0c 3e 82 66 1a 43 8e bd 44 80 37 03 |...p.>.f.C..D.7.|
000001d0 6e 53 f5 f2 81 f8 10 9f 65 fe 6f 1b 5d 4d af aa |nS......e.o.]M..|
000001e0 12 e0 4a 58 47 13 e1 1a 71 db 37 f1 fc 12 7e 90 |..JXG...q.7...~.|
000001f0 1e c9 7d 54 9d fd 86 19 d9 5d c4 49 0c 21 ba e4 |..}T.....].I.!..|
00000200 98 a5 e2 48 de 82 7e 29 30 a3 e4 ce 51 a9 53 07 |...H..~)0...Q.S.|
00000210 e1 f1 12 5e cd 62 df a0 3e 94 6b cc 74 92 d2 dc |...^.b..>.k.t...|
00000220 5c f1 20 73 e7 82 94 31 77 0f 9c 4a d6 50 63 fb |\. s...1w..J.Pc.|
00000230 0f da a5 56 61 d2 d6 21 64 e8 13 13 4a 89 a2 f6 |...Va..!d...J...|
00000240 2e 2f 87 4e df 68 06 bf 28 5c 82 7b e4 6d 2b 22 |./.N.h..(\.{.m+"|
00000250 6e a0 84 4b 57 dd 2b 74 fd 02 1a c0 8c 1b 46 78 |n..KW.+t......Fx|
00000260 19 38 0c 82 77 7a 03 fb 90 be 0f 21 8f 5c 26 2d |.8..wz.....!.\&-|
00000270 9f 9c 02 9e 2a 10 04 c7 0d 3e 66 96 d1 8b 9d ea |....*....>f.....|
00000280 2c bb 0e a8 53 bd 8d 47 59 75 d4 48 8c a7 0a bb |,...S..GYu.H....|
00000290 83 f7 97 10 fc a2 2a 64 9b b6 4b 75 57 d8 9a 31 |......*d..KuW..1|
000002a0 bf 10 8b 7f 46 07 b4 ee 45 57 9f 0c 07 ba b3 f1 |....F...EW......|
000002b0 ae 1a f3 6b 0e a4 3d 96 5c 0f ea a8 02 9b 66 8d |...k..=.\.....f.|
000002c0 0c dd 73 d0 05 62 05 ce 17 03 03 00 a3 eb 0b 77 |..s..b.........w|
000002d0 97 30 ff 18 7a ce fe dd e2 30 30 eb e3 42 f0 f5 |.0..z....00..B..|
000002e0 ca b4 c3 10 4a 9c ca 2c 59 ad a2 fb 70 d7 5f 08 |....J..,Y...p._.|
000002f0 46 d7 12 b0 fb 91 6c 5f bf 80 13 57 e3 d2 e2 c8 |F.....l_...W....|
00000300 42 c9 69 da c1 16 df 91 71 d8 44 24 39 76 a6 94 |B.i.....q.D$9v..|
00000310 f2 82 ea f5 d2 d2 56 37 d4 bd c3 e7 a2 e2 c7 f4 |......V7........|
00000320 b1 b6 56 6a 6e f4 60 0b cd 6b ca 4d fe 2e 51 c8 |..Vjn.`..k.M..Q.|
00000330 1b cd 0c 9f 68 bf df 7f bb ed b5 db 7b 2a b3 25 |....h.......{*.%|
00000340 0d d9 b3 f2 31 93 f4 47 e9 5d 8f d0 24 e5 1f 47 |....1..G.]..$..G|
00000350 20 85 de 13 cb 1f aa 10 71 cd 08 d2 0c 48 48 e8 | .......q....HH.|
00000360 a7 8c 89 03 d0 c8 68 c6 63 52 99 99 e7 15 95 f0 |......h.cR......|
00000370 17 03 03 00 35 e8 67 3c 86 c3 c5 70 79 89 bd c0 |....5.g<...py...|
00000380 75 24 fd e2 06 e9 4e 17 86 b4 2a 65 71 61 76 5f |u$....N...*eqav_|
00000390 f2 15 2d 93 e0 37 80 51 1b 7f ed 23 4c 8a fe e0 |..-..7.Q...#L...|
000003a0 7c 5c c8 bb 2f ed 54 53 75 2d 17 03 03 00 87 21 ||\../.TSu-.....!|
000003b0 40 c2 5e 34 bb 57 92 94 4b 86 b0 22 fd 95 de d2 |@.^4.W..K.."....|
000003c0 55 81 ff d6 36 17 cd b5 86 a4 55 1b 25 80 20 1b |U...6.....U.%. .|
000003d0 d0 e6 6e f5 64 24 00 58 35 71 26 27 0a a1 00 a0 |..n.d$.X5q&'....|
000003e0 a7 01 d1 9a f9 26 c5 d8 ba d7 cd 5e 96 d3 9d 11 |.....&.....^....|
000003f0 0e 58 e0 6f d1 e2 3c c4 f3 94 3b d0 3d 25 f3 b5 |.X.o..<...;.=%..|
00000400 39 9c 1a 1e 2d ff e3 76 42 71 fb 9d 60 d9 06 75 |9...-..vBq..`..u|
00000410 f9 54 59 25 68 49 be 23 36 b3 cb 39 1f 86 a3 6d |.TY%hI.#6..9...m|
00000420 0b 29 a9 65 e4 38 09 d2 1b c9 24 27 b4 e4 d8 61 |.).e.8....$'...a|
00000430 41 50 ea aa 0d a3 |AP....|
>>> Flow 3 (client to server)
00000000 14 03 03 00 01 01 17 03 03 00 35 7f a3 e1 84 e2 |..........5.....|
00000010 70 e6 78 59 28 33 22 53 0f 06 90 e1 a1 6f 46 f6 |p.xY(3"S.....oF.|
00000020 08 9d 3e 3e 8b 72 f4 6d 54 93 f4 48 0f 58 81 37 |..>>.r.mT..H.X.7|
00000030 e4 5e 2f 9c a1 5c 12 d6 eb f1 ea 8c 3f a5 5c 73 |.^/..\......?.\s|
00000000 14 03 03 00 01 01 17 03 03 00 35 81 cb d8 28 ac |..........5...(.|
00000010 36 50 5e 4f d0 18 25 58 08 12 a9 92 56 09 87 bf |6P^O..%X....V...|
00000020 32 6a 78 d6 02 58 bb c3 fc fd 4b 75 a3 e4 65 38 |2jx..X....Ku..e8|
00000030 cb 57 6e 85 96 f6 86 88 40 49 cd cf c8 55 72 61 |.Wn.....@I...Ura|
>>> Flow 4 (server to client)
00000000 17 03 03 00 1e ef 89 3a 8b 1e 0a 66 2f 47 6c 6c |.......:...f/Gll|
00000010 6f e4 f9 73 49 c7 b4 10 ad 02 fb af 24 52 a6 13 |o..sI.......$R..|
00000020 44 82 91 17 03 03 00 13 b6 74 2f b1 40 b4 87 d0 |D........t/.@...|
00000030 be 18 81 5a d2 11 92 98 77 df b0 |...Z....w..|
00000000 17 03 03 00 1e e3 d8 1c 54 b4 3d f5 8d 59 7a a9 |........T.=..Yz.|
00000010 1d 35 6c fd 65 47 b9 42 63 8e 29 47 4f 15 06 f7 |.5l.eG.Bc.)GO...|
00000020 5c 28 7f 17 03 03 00 13 47 bf 2d b9 cc ac ff 98 |\(......G.-.....|
00000030 fe 4a 2e 84 0f 89 55 de f0 ba ff |.J....U....|