mirror of
https://github.com/refraction-networking/utls.git
synced 2025-04-04 04:27:36 +03:00
Support for Ed25519 certificates was added in CL 175478, this wires them up into the TLS stack according to RFC 8422 (TLS 1.2) and RFC 8446 (TLS 1.3). RFC 8422 also specifies support for TLS 1.0 and 1.1, and I initially implemented that, but even OpenSSL doesn't take the complexity, so I just dropped it. It would have required keeping a buffer of the handshake transcript in order to do the direct Ed25519 signatures. We effectively need to support TLS 1.2 because it shares ClientHello signature algorithms with TLS 1.3. While at it, reordered the advertised signature algorithms in the rough order we would want to use them, also based on what curves have fast constant-time implementations. Client and client auth tests changed because of the change in advertised signature algorithms in ClientHello and CertificateRequest. Fixes #25355 Change-Id: I9fdd839afde4fd6b13fcbc5cc7017fd8c35085ee Reviewed-on: https://go-review.googlesource.com/c/go/+/177698 Run-TryBot: Filippo Valsorda <filippo@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Adam Langley <agl@golang.org>
90 lines
6.8 KiB
Text
90 lines
6.8 KiB
Text
>>> Flow 1 (client to server)
|
|
00000000 16 03 01 00 fa 01 00 00 f6 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 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 13 01 13 03 13 02 |................|
|
|
00000080 01 00 00 7b 00 05 00 05 01 00 00 00 00 00 0a 00 |...{............|
|
|
00000090 0a 00 08 00 1d 00 17 00 18 00 19 00 0b 00 02 01 |................|
|
|
000000a0 00 00 0d 00 1a 00 18 08 04 04 03 08 07 08 05 08 |................|
|
|
000000b0 06 04 01 05 01 06 01 05 03 06 03 02 01 02 03 ff |................|
|
|
000000c0 01 00 01 00 00 12 00 00 00 2b 00 09 08 03 04 03 |.........+......|
|
|
000000d0 03 03 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f |......3.&.$... /|
|
|
000000e0 e5 7d a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 |.}.G.bC.(.._.).0|
|
|
000000f0 ff f6 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 7a 02 00 00 76 03 03 43 b1 e8 d9 c3 |....z...v..C....|
|
|
00000010 22 a0 a3 08 df 7f 37 34 7a fe 7a 47 98 ee ed 51 |".....74z.zG...Q|
|
|
00000020 c2 ae 5c c6 b1 43 3d ff f7 91 68 20 00 00 00 00 |..\..C=...h ....|
|
|
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 13 03 00 00 |................|
|
|
00000050 2e 00 2b 00 02 03 04 00 33 00 24 00 1d 00 20 63 |..+.....3.$... c|
|
|
00000060 0f 66 ec 2d fa 67 d4 eb 94 47 8d 88 0b eb ed ec |.f.-.g...G......|
|
|
00000070 5b ac 22 f7 46 85 c5 1c 2b 5e e8 57 e2 d3 6f 14 |[.".F...+^.W..o.|
|
|
00000080 03 03 00 01 01 17 03 03 00 17 d0 f8 1f 06 59 8d |..............Y.|
|
|
00000090 a0 40 21 8f 3e 36 3b 1d 6a 6e f7 77 44 fb b3 8e |.@!.>6;.jn.wD...|
|
|
000000a0 e2 17 03 03 02 6d 22 6b 63 ae 47 fd 66 f9 95 f6 |.....m"kc.G.f...|
|
|
000000b0 63 ea e8 16 61 a3 64 82 39 82 76 1c 2c 04 9b 29 |c...a.d.9.v.,..)|
|
|
000000c0 0f 8a ff 77 9b e6 2c ce 04 09 5f 91 f3 b6 2e 8d |...w..,..._.....|
|
|
000000d0 be 42 94 7e 5a 28 4b 9f e9 7b 38 0a 3c de 90 77 |.B.~Z(K..{8.<..w|
|
|
000000e0 c1 bf 97 bf 35 6c 77 98 4b 38 b4 8d 7f 1f 4b c0 |....5lw.K8....K.|
|
|
000000f0 23 c5 73 08 90 fa 21 5c cd cb 84 5b 0e 89 86 ce |#.s...!\...[....|
|
|
00000100 83 78 d5 1c 2b b9 b1 24 45 ad ab 9c 68 9f c2 28 |.x..+..$E...h..(|
|
|
00000110 40 d6 c2 ac a2 0c 86 cd 75 92 43 d5 22 3f 61 9d |@.......u.C."?a.|
|
|
00000120 e8 56 b8 7c 71 db 25 cc 2e 74 52 74 da 6b d4 a1 |.V.|q.%..tRt.k..|
|
|
00000130 2c 32 d2 d8 9c 74 41 9d 78 98 94 3b 87 99 8e 17 |,2...tA.x..;....|
|
|
00000140 df df d6 c3 6d ef 58 13 5c 1e 20 2d ed 77 bd 5c |....m.X.\. -.w.\|
|
|
00000150 d6 5c 9a 6d 0f 19 77 e1 4f 79 b0 ed 9d 0b f5 e8 |.\.m..w.Oy......|
|
|
00000160 42 d0 f4 90 88 97 a9 84 af 92 3c 41 fe fd 67 6e |B.........<A..gn|
|
|
00000170 33 77 8e 02 83 b4 6f c0 14 d2 ee 38 79 ca 45 61 |3w....o....8y.Ea|
|
|
00000180 59 05 3b 76 4b ef 55 b9 18 43 9f c4 42 02 31 8e |Y.;vK.U..C..B.1.|
|
|
00000190 88 c1 b6 0b 5d c4 20 59 91 57 f3 81 b9 d0 ec 25 |....]. Y.W.....%|
|
|
000001a0 26 72 37 e0 e0 c8 34 83 58 fe 15 bd aa 4d 49 f8 |&r7...4.X....MI.|
|
|
000001b0 ba 8f 1d 8d 37 9c 18 88 cd 69 23 00 93 0f 64 e0 |....7....i#...d.|
|
|
000001c0 ed 0d a7 a0 fc bd f3 7d 0b b0 50 6b cd e6 25 b8 |.......}..Pk..%.|
|
|
000001d0 50 3a bf 37 d7 18 60 a7 de ba c7 ff b7 26 8a 20 |P:.7..`......&. |
|
|
000001e0 ad d3 f9 5a 5f 61 37 2f b0 9b d6 2a 4c 39 08 34 |...Z_a7/...*L9.4|
|
|
000001f0 31 15 19 1e 72 d3 fc 72 63 0e d5 71 04 82 b3 80 |1...r..rc..q....|
|
|
00000200 ec aa 51 0f 73 5f 2c dd 42 fd 40 b8 e3 1d 9e 31 |..Q.s_,.B.@....1|
|
|
00000210 13 01 3b 6b 88 f2 52 17 fa 0b 9d 45 1e f2 f0 c1 |..;k..R....E....|
|
|
00000220 5b 3f 14 23 41 e7 a2 2e fa e4 9b 01 9b a4 99 43 |[?.#A..........C|
|
|
00000230 32 85 fc c9 30 2a 5d ca 2a fa c5 7f 81 89 31 02 |2...0*].*.....1.|
|
|
00000240 0a c6 89 f0 98 1b 92 08 96 d0 90 c7 18 b0 d4 e9 |................|
|
|
00000250 5d 29 71 3b c6 2f c5 ff 2c be db f8 ef 56 d6 e0 |])q;./..,....V..|
|
|
00000260 9b a6 21 b1 92 b1 58 26 e9 e2 3b 97 1b 95 b2 ba |..!...X&..;.....|
|
|
00000270 62 66 a5 df a1 a8 82 25 1e ae 85 98 94 d7 96 c5 |bf.....%........|
|
|
00000280 3b 30 4c bd 04 23 45 3d 86 c9 7e 0e 47 5b 5f 14 |;0L..#E=..~.G[_.|
|
|
00000290 b5 c5 29 31 1e cd a4 e0 6a b2 78 51 f0 7b b2 21 |..)1....j.xQ.{.!|
|
|
000002a0 1f 10 0d 0d 7f 01 f1 06 4a 87 7d 4a 90 63 59 f3 |........J.}J.cY.|
|
|
000002b0 6d 16 0f 07 9e 00 3a d2 c7 01 37 cc 39 6e 07 6e |m.....:...7.9n.n|
|
|
000002c0 9e 64 df 47 65 04 4c 72 59 ad 3b 3e 52 8e e4 b6 |.d.Ge.LrY.;>R...|
|
|
000002d0 fc ba 9c f0 82 13 ba 25 11 c7 5d 38 00 cf 83 14 |.......%..]8....|
|
|
000002e0 30 a9 72 48 d1 e8 4e 1b ed 04 ed cf b7 5b 2e 72 |0.rH..N......[.r|
|
|
000002f0 1c a2 03 ae 60 54 d6 cf 2f fb 11 a3 b1 8d d6 47 |....`T../......G|
|
|
00000300 e8 9f 96 08 90 ae 3c 3c c0 8c d8 c4 ef 30 18 ea |......<<.....0..|
|
|
00000310 2a 1a 15 17 03 03 00 99 85 b3 e4 18 6f 8d 34 c7 |*...........o.4.|
|
|
00000320 3d 66 49 b8 f6 f5 aa 7a e1 ca ba cb 48 53 15 bb |=fI....z....HS..|
|
|
00000330 e9 ec 74 91 c3 b5 d3 6b bc 84 81 d8 e1 a4 31 62 |..t....k......1b|
|
|
00000340 d5 19 6d 2f 15 4c f3 8a 3b ec 41 12 89 be d3 cc |..m/.L..;.A.....|
|
|
00000350 ab 08 59 a7 79 5d 77 14 ce b1 98 b4 ce 71 7b ad |..Y.y]w......q{.|
|
|
00000360 ba 41 3a 7f 9a f8 23 5c c6 fb b5 7b cc eb 0e 7a |.A:...#\...{...z|
|
|
00000370 ee af 3d ff 4d 03 ba c2 2a af ac fd b5 e8 5b 43 |..=.M...*.....[C|
|
|
00000380 3e 37 ef 84 3d 66 af 3c 8e 1d 0d 36 bd df 25 dc |>7..=f.<...6..%.|
|
|
00000390 74 89 9c e6 da 18 c4 c8 b5 6c 3c 4c a6 ac 10 28 |t........l<L...(|
|
|
000003a0 67 c0 a7 02 6c d4 8c a1 ca 66 ec 30 65 a6 af f7 |g...l....f.0e...|
|
|
000003b0 e3 17 03 03 00 35 46 33 9b 78 59 93 b5 3d 99 22 |.....5F3.xY..=."|
|
|
000003c0 56 3b 26 82 9c d4 08 36 5a 07 c6 d7 5b 4f c8 d9 |V;&....6Z...[O..|
|
|
000003d0 32 8b cd f1 e7 81 58 a8 98 b6 61 f6 9e 75 0c 52 |2.....X...a..u.R|
|
|
000003e0 5a a1 e8 b1 97 8c 94 52 82 5e e8 |Z......R.^.|
|
|
>>> Flow 3 (client to server)
|
|
00000000 14 03 03 00 01 01 17 03 03 00 35 55 88 37 f3 ee |..........5U.7..|
|
|
00000010 c5 1b 20 ac fe bc a3 f8 c9 59 3f 5f c0 81 40 8f |.. ......Y?_..@.|
|
|
00000020 1e a9 44 c8 10 16 69 8a 76 45 17 51 06 9e f0 55 |..D...i.vE.Q...U|
|
|
00000030 a2 f2 56 98 7d a1 4d 95 5a c3 1f 51 cf 31 20 ca |..V.}.M.Z..Q.1 .|
|
|
00000040 17 03 03 00 17 81 2a 8e 32 29 ec 9b 92 c3 fd 98 |......*.2)......|
|
|
00000050 64 aa 47 2a a5 0c d6 77 7f b1 8f 12 17 03 03 00 |d.G*...w........|
|
|
00000060 13 60 8c fb 98 e1 03 b6 20 c8 45 4e d9 4b a8 17 |.`...... .EN.K..|
|
|
00000070 10 79 5f b6 |.y_.|
|