Ssl 在TLS交换中查看Diffie-Hellman参数(p、g、Y)时出现问题

Ssl 在TLS交换中查看Diffie-Hellman参数(p、g、Y)时出现问题,ssl,openssl,cryptography,diffie-hellman,Ssl,Openssl,Cryptography,Diffie Hellman,我有以下输出(从发布的总输出中选择),我试图弄清楚如何查看握手期间建立的Diffie-Hellman参数。据我所知(通过),这些参数应该可以在ServerKeyExchange消息中查看,但我在理解如何将下面的数据解析为我需要的值时遇到了一些困难。我曾尝试在Wireshark中分析握手,但没有成功提取出所需的值。任何帮助都将不胜感激 证书 <<< TLS 1.2 Handshake [length 08d8], Certificate 0b 00 08 d4 00 08

我有以下输出(从发布的总输出中选择),我试图弄清楚如何查看握手期间建立的Diffie-Hellman参数。据我所知(通过),这些参数应该可以在ServerKeyExchange消息中查看,但我在理解如何将下面的数据解析为我需要的值时遇到了一些困难。我曾尝试在Wireshark中分析握手,但没有成功提取出所需的值。任何帮助都将不胜感激

证书

<<< TLS 1.2 Handshake [length 08d8], Certificate
    0b 00 08 d4 00 08 d1 00 04 a2 30 82 04 9e 30 82
    03 86 a0 03 02 01 02 02 03 04 24 1f 30 0d 06 09
    2a 86 48 86 f7 0d 01 01 0b 05 00 30 47 31 0b 30
    09 06 03 55 04 06 13 02 55 53 31 16 30 14 06 03
    55 04 0a 13 0d 47 65 6f 54 72 75 73 74 20 49 6e
    63 2e 31 20 30 1e 06 03 55 04 03 13 17 52 61 70
    69 64 53 53 4c 20 53 48 41 32 35 36 20 43 41 20
    2d 20 47 33 30 1e 17 0d 31 35 30 35 30 34 31 36
    34 36 32 36 5a 17 0d 31 38 30 35 30 35 31 35 31
    34 35 33 5a 30 81 8d 31 13 30 11 06 03 55 04 0b
    13 0a 47 54 31 36 33 30 34 38 34 31 31 31 30 2f
    06 03 55 04 0b 13 28 53 65 65 20 77 77 77 2e 72
    61 70 69 64 73 73 6c 2e 63 6f 6d 2f 72 65 73 6f
    75 72 63 65 73 2f 63 70 73 20 28 63 29 31 35 31
    2f 30 2d 06 03 55 04 0b 13 26 44 6f 6d 61 69 6e
    20 43 6f 6e 74 72 6f 6c 20 56 61 6c 69 64 61 74
    65 64 20 2d 20 52 61 70 69 64 53 53 4c 28 52 29
    31 12 30 10 06 03 55 04 03 0c 09 2a 2e 68 6f 6d
    65 2e 70 6c 30 82 01 22 30 0d 06 09 2a 86 48 86
    f7 0d 01 01 01 05 00 03 82 01 0f 00 30 82 01 0a
    02 82 01 01 00 b9 1d a1 01 64 e7 b3 90 b5 91 4f
    3f 5e 8d ab ce 31 d5 e4 37 e5 28 8f c9 18 f7 c7
    a7 06 fe 2e ea 06 92 7c ed b3 e0 f6 81 13 56 1f
    54 d8 49 83 57 ad 74 24 40 35 3c 72 60 f4 d4 ba
    36 1d b8 06 45 24 ef f6 98 58 b1 01 4a d8 55 a3
    bb 47 16 3e 53 7c 5e 08 49 f1 51 24 72 53 4b df
    0d 0c 2e 36 20 63 e5 d5 bc c7 31 62 69 84 57 b8
    1d d1 db 5f 9e 28 09 50 4c bd 15 34 e1 5b 83 be
    06 e5 0d b2 d2 1d 80 b3 d0 f6 50 c2 28 72 2e be
    bd e5 86 b8 c4 68 05 c7 6e de 5e e9 e6 a8 f5 c9
    60 f5 7e bb fe d4 63 ec f1 92 7a ac 8a d2 f6 8c
    cc 09 9b df ef 52 1e bc ba 86 22 30 65 9d f1 8f
    22 9b d9 c8 d8 47 f1 18 3c 32 49 3e 4d a1 63 c4
    32 58 73 97 57 5d a4 9c 40 8e a0 0f 30 7a 0e 7c
    4e f7 8b 50 25 0c 0f 21 2e 7e 48 ff 02 16 3b b4
    12 53 ef 46 8a 12 60 f5 93 a3 a5 5b 17 1d ec 05
    71 46 88 4e 9b 02 03 01 00 01 a3 82 01 4a 30 82
    01 46 30 1f 06 03 55 1d 23 04 18 30 16 80 14 c3
    9c f3 fc d3 46 08 34 bb ce 46 7f a0 7c 5b f3 e2
    08 cb 59 30 57 06 08 2b 06 01 05 05 07 01 01 04
    4b 30 49 30 1f 06 08 2b 06 01 05 05 07 30 01 86
    13 68 74 74 70 3a 2f 2f 67 76 2e 73 79 6d 63 64
    2e 63 6f 6d 30 26 06 08 2b 06 01 05 05 07 30 02
    86 1a 68 74 74 70 3a 2f 2f 67 76 2e 73 79 6d 63
    62 2e 63 6f 6d 2f 67 76 2e 63 72 74 30 0e 06 03
    55 1d 0f 01 01 ff 04 04 03 02 05 a0 30 1d 06 03
    55 1d 25 04 16 30 14 06 08 2b 06 01 05 05 07 03
    01 06 08 2b 06 01 05 05 07 03 02 30 1d 06 03 55
    1d 11 04 16 30 14 82 09 2a 2e 68 6f 6d 65 2e 70
    6c 82 07 68 6f 6d 65 2e 70 6c 30 2b 06 03 55 1d
    1f 04 24 30 22 30 20 a0 1e a0 1c 86 1a 68 74 74
    70 3a 2f 2f 67 76 2e 73 79 6d 63 62 2e 63 6f 6d
    2f 67 76 2e 63 72 6c 30 0c 06 03 55 1d 13 01 01
    ff 04 02 30 00 30 41 06 03 55 1d 20 04 3a 30 38
    30 36 06 06 67 81 0c 01 02 01 30 2c 30 2a 06 08
    2b 06 01 05 05 07 02 01 16 1e 68 74 74 70 73 3a
    2f 2f 77 77 77 2e 72 61 70 69 64 73 73 6c 2e 63
    6f 6d 2f 6c 65 67 61 6c 30 0d 06 09 2a 86 48 86
    f7 0d 01 01 0b 05 00 03 82 01 01 00 82 b9 cf f2
    32 9e 73 cb 54 99 c4 fe 97 50 80 64 51 a5 81 f0
    d2 d2 0d 4a e3 81 e0 b1 60 7b d1 2b 54 f6 fd 8d
    d1 11 b1 4f 32 a3 f6 b1 28 a2 38 a8 dc 36 81 30
    f8 c6 ae 0d 46 4f dc e8 11 71 a4 09 0b ef 2a 53
    51 89 bf 79 0f d9 a5 e5 60 b7 c7 9d ce 18 c9 ec
    e2 91 d7 f3 c8 5a 43 b1 9c 54 43 9d 67 77 54 02
    df f3 82 91 91 81 71 4e 57 16 62 54 7a b2 e4 41
    c7 16 98 0a 00 2b 73 96 af ba d7 93 35 1c 3b d1
    1e 41 84 98 28 5b 6a e6 cb 89 43 5d 73 1d 8e 10
    bb eb 12 3c 03 82 87 14 f8 dc c8 31 01 c9 84 f0
    bf 07 bd c7 7e e7 87 30 29 3a fb ee 3a 69 b6 7e
    aa 99 a0 0d 98 2c 36 90 1a 74 f9 17 9e cc 0f 6e
    0d 58 25 3b da 23 e6 75 04 11 50 ee f8 fb 40 c8
    e8 c0 d8 1c ff 68 e8 f6 7a 1e c0 67 d8 1d 27 fa
    55 48 50 d2 c6 a6 23 dd 6c b6 8b 2c b6 20 0f dc
    c4 c3 6c 61 81 c5 66 88 15 2c 27 ba 00 04 29 30
    82 04 25 30 82 03 0d a0 03 02 01 02 02 03 02 3a
    77 30 0d 06 09 2a 86 48 86 f7 0d 01 01 0b 05 00
    30 42 31 0b 30 09 06 03 55 04 06 13 02 55 53 31
    16 30 14 06 03 55 04 0a 13 0d 47 65 6f 54 72 75
    73 74 20 49 6e 63 2e 31 1b 30 19 06 03 55 04 03
    13 12 47 65 6f 54 72 75 73 74 20 47 6c 6f 62 61
    6c 20 43 41 30 1e 17 0d 31 34 30 38 32 39 32 31
    33 39 33 32 5a 17 0d 32 32 30 35 32 30 32 31 33
    39 33 32 5a 30 47 31 0b 30 09 06 03 55 04 06 13
    02 55 53 31 16 30 14 06 03 55 04 0a 13 0d 47 65
    6f 54 72 75 73 74 20 49 6e 63 2e 31 20 30 1e 06
    03 55 04 03 13 17 52 61 70 69 64 53 53 4c 20 53
    48 41 32 35 36 20 43 41 20 2d 20 47 33 30 82 01
    22 30 0d 06 09 2a 86 48 86 f7 0d 01 01 01 05 00
    03 82 01 0f 00 30 82 01 0a 02 82 01 01 00 af 54
    9b d9 58 5d 1e 2c 56 c6 d5 e8 7f f4 7d 16 03 ff
    d0 8b 5a e4 8e a7 dd 54 2e d4 04 c0 5d 98 9c 8d
    90 0f bc 10 65 5f da 9a d6 44 7c c0 9f b5 e9 4a
    8c 0b 06 43 04 bb f4 96 e2 26 f6 61 01 91 66 31
    22 c3 34 34 5f 3f 3f 91 2f 44 5f dc c7 14 b6 03
    9f 86 4b 0e a3 ff a0 80 02 83 c3 d3 1f 69 52 d6
    9d 64 0f c9 83 e7 1b c4 70 ac 94 e7 c3 a4 6a 2c
    bd b8 9e 69 d8 be 0a 8f 16 63 5a 68 71 80 7b 30
    de 15 04 bf cc d3 bf 3e 48 05 55 7a b3 d7 10 0c
    03 fc 9b fd 08 a7 8c 8c db a7 8e f1 1e 63 dc b3
    01 2f 7f af 57 c3 3c 48 a7 83 68 21 a7 2f e7 a7
    3f f0 b5 0c fc f5 84 d1 53 bc 0e 72 4f 60 0c 42
    b8 98 ad 19 88 57 d7 04 ec 87 bf 7e 87 4e a3 21
    f9 53 fd 36 98 48 8d d6 f8 bb 48 f2 29 c8 64 d1
    cc 54 48 53 8b af b7 65 1e bf 29 33 29 d9 29 60
    48 f8 ff 91 bc 57 58 e5 35 2e bb 69 b6 59 02 03
    01 00 01 a3 82 01 1d 30 82 01 19 30 1f 06 03 55
    1d 23 04 18 30 16 80 14 c0 7a 98 68 8d 89 fb ab
    05 64 0c 11 7d aa 7d 65 b8 ca cc 4e 30 1d 06 03
    55 1d 0e 04 16 04 14 c3 9c f3 fc d3 46 08 34 bb
    ce 46 7f a0 7c 5b f3 e2 08 cb 59 30 12 06 03 55
    1d 13 01 01 ff 04 08 30 06 01 01 ff 02 01 00 30
    0e 06 03 55 1d 0f 01 01 ff 04 04 03 02 01 06 30
    35 06 03 55 1d 1f 04 2e 30 2c 30 2a a0 28 a0 26
    86 24 68 74 74 70 3a 2f 2f 67 2e 73 79 6d 63 62
    2e 63 6f 6d 2f 63 72 6c 73 2f 67 74 67 6c 6f 62
    61 6c 2e 63 72 6c 30 2e 06 08 2b 06 01 05 05 07
    01 01 04 22 30 20 30 1e 06 08 2b 06 01 05 05 07
    30 01 86 12 68 74 74 70 3a 2f 2f 67 2e 73 79 6d
    63 64 2e 63 6f 6d 30 4c 06 03 55 1d 20 04 45 30
    43 30 41 06 0a 60 86 48 01 86 f8 45 01 07 36 30
    33 30 31 06 08 2b 06 01 05 05 07 02 01 16 25 68
    74 74 70 3a 2f 2f 77 77 77 2e 67 65 6f 74 72 75
    73 74 2e 63 6f 6d 2f 72 65 73 6f 75 72 63 65 73
    2f 63 70 73 30 0d 06 09 2a 86 48 86 f7 0d 01 01
    0b 05 00 03 82 01 01 00 a3 58 1e c6 43 32 ac ac
    2f 93 78 b7 ea ae 54 40 47 2d 7e 78 8d 50 f6 f8
    66 ac d6 4f 73 d6 44 ef af 0b cc 5b c1 f4 4f 9a
    8f 49 7e 60 af c2 27 c7 16 f1 fb 93 81 90 a9 7c
    ef 6f 7e 6e 45 94 16 84 bd ec 49 f1 c4 0e f4 af
    04 59 83 87 0f 2c 3b 97 c3 5a 12 9b 7b 04 35 7b
    a3 95 33 08 7b 93 71 22 42 b3 a9 d9 6f 4f 81 92
    fc 07 b6 79 bc 84 4a 9d 77 09 f1 c5 89 f2 f0 b4
    9c 54 aa 12 7b 0d ba 4f ef 93 19 ec ef 7d 4e 61
    a3 8e 76 9c 59 cf 8c 94 b1 84 97 f7 1a b9 07 b8
    b2 c6 4f 13 79 db bf 4f 51 1b 7f 69 0d 51 2a c1
    d6 15 ff 37 51 34 65 51 f4 1e be 38 6a ec 0e ab
    bf 3d 7b 39 05 7b f4 f3 fb 1a a1 d0 c8 7e 4e 64
    8d cd 8c 61 55 90 fe 3a ca 5d 25 0f f8 1d a3 4a
    74 56 4f 1a 55 40 70 75 25 a6 33 2e ba 4b a5 5d
    53 9a 0d 30 e1 8d 5f 61 2c af cc ef b0 99 a1 80
    ff 0b f2 62 4c 70 26 98
注:与类似,但这是更简单的ECDHE(至少对于“命名”曲线)

ServerKeyExchange消息格式是使用第4节中的符号和数字签名的
原语为TLSv1.2定义的;TLSv1.1、TLSv1.0和SSLv3是等效的,只是它们具有隐式签名算法。将此应用于您的数据:

长度(2字节00 80表示128)和DH模数“p”的值

00 80 bb bc 2d ca d8 46 74 90 7c 43
fc f5 80 e9 cf db d9 58 a3 f5 68 b4 2d 4b 08 ee
d4 eb 0f b3 50 4c 6c 03 02 76 e7 10 80 0c 5c cb
ba a8 92 26 14 c5 be ec a5 65 a5 fd f1 d2 87 a2
bc 04 9b e6 77 80 60 e9 1a 92 a7 57 e3 04 8f 68
b0 76 f7 d3 6c c8 f2 9b a5 df 81 dc 2c a7 25 ec
e6 62 70 cc 9a 50 35 d8 ce ce ef 9e a0 27 4a 63
ab 1e 58 fa fd 49 88 d0 f6 5d 14 67 57 da 07 1d
f0 45 cf e1 6b 9b 
00 01 02 
00 80 24 2c 5c c4 23
56 11 84 b7 da 00 e6 f7 c7 2a 30 d1 73 2d f4 6b
e8 ce 24 ab 71 16 89 ff 13 3a 9b b7 dc 82 a2 82
6b d9 85 4e 29 b8 d6 56 fe b6 9b 58 c0 21 a6 90
ac 9b da 06 8d dd 0b 1e ad 29 51 8c 9b 5a 8a 12
ff 01 b2 bb b2 e2 9a 71 82 ec f3 e9 f3 93 1c 2e
9f 15 5c e0 6b e3 bc e5 56 28 8e 17 4b d5 2f ff
3e b7 bd 96 9f c0 dc 2b 5f 07 66 65 da 1f 66 4c
60 df 0e d0 89 c8 fd a5 c1 51 e7 
DH生成器“G”的长度(2字节00 01表示1)和值(2):

00 80 bb bc 2d ca d8 46 74 90 7c 43
fc f5 80 e9 cf db d9 58 a3 f5 68 b4 2d 4b 08 ee
d4 eb 0f b3 50 4c 6c 03 02 76 e7 10 80 0c 5c cb
ba a8 92 26 14 c5 be ec a5 65 a5 fd f1 d2 87 a2
bc 04 9b e6 77 80 60 e9 1a 92 a7 57 e3 04 8f 68
b0 76 f7 d3 6c c8 f2 9b a5 df 81 dc 2c a7 25 ec
e6 62 70 cc 9a 50 35 d8 ce ce ef 9e a0 27 4a 63
ab 1e 58 fa fd 49 88 d0 f6 5d 14 67 57 da 07 1d
f0 45 cf e1 6b 9b 
00 01 02 
00 80 24 2c 5c c4 23
56 11 84 b7 da 00 e6 f7 c7 2a 30 d1 73 2d f4 6b
e8 ce 24 ab 71 16 89 ff 13 3a 9b b7 dc 82 a2 82
6b d9 85 4e 29 b8 d6 56 fe b6 9b 58 c0 21 a6 90
ac 9b da 06 8d dd 0b 1e ad 29 51 8c 9b 5a 8a 12
ff 01 b2 bb b2 e2 9a 71 82 ec f3 e9 f3 93 1c 2e
9f 15 5c e0 6b e3 bc e5 56 28 8e 17 4b d5 2f ff
3e b7 bd 96 9f c0 dc 2b 5f 07 66 65 da 1f 66 4c
60 df 0e d0 89 c8 fd a5 c1 51 e7 
服务器公钥“Ys”的长度(2字节00 80表示128)和值

00 80 bb bc 2d ca d8 46 74 90 7c 43
fc f5 80 e9 cf db d9 58 a3 f5 68 b4 2d 4b 08 ee
d4 eb 0f b3 50 4c 6c 03 02 76 e7 10 80 0c 5c cb
ba a8 92 26 14 c5 be ec a5 65 a5 fd f1 d2 87 a2
bc 04 9b e6 77 80 60 e9 1a 92 a7 57 e3 04 8f 68
b0 76 f7 d3 6c c8 f2 9b a5 df 81 dc 2c a7 25 ec
e6 62 70 cc 9a 50 35 d8 ce ce ef 9e a0 27 4a 63
ab 1e 58 fa fd 49 88 d0 f6 5d 14 67 57 da 07 1d
f0 45 cf e1 6b 9b 
00 01 02 
00 80 24 2c 5c c4 23
56 11 84 b7 da 00 e6 f7 c7 2a 30 d1 73 2d f4 6b
e8 ce 24 ab 71 16 89 ff 13 3a 9b b7 dc 82 a2 82
6b d9 85 4e 29 b8 d6 56 fe b6 9b 58 c0 21 a6 90
ac 9b da 06 8d dd 0b 1e ad 29 51 8c 9b 5a 8a 12
ff 01 b2 bb b2 e2 9a 71 82 ec f3 e9 f3 93 1c 2e
9f 15 5c e0 6b e3 bc e5 56 28 8e 17 4b d5 2f ff
3e b7 bd 96 9f c0 dc 2b 5f 07 66 65 da 1f 66 4c
60 df 0e d0 89 c8 fd a5 c1 51 e7 
算法id(2字节:SHA512-RSA)(请参阅)长度(2字节01 00表示256)和签名的值(对于RSA,仅为bignum):


谢谢你的回复!你能解释一下你是如何从RFC的结构部分提取字节长度信息的吗?@brocoli例如
struct。。。DHServerParams
包含(第一)
不透明dh\p。4.3表示这意味着内容前面有一个足够大的长度字段,表示2^16-1,2字节足够大。冲洗并重复,签名部分添加4.7。