美文网首页
openssl(tls1.3)服务器回复ServerHello

openssl(tls1.3)服务器回复ServerHello

作者: 梁佳凝 | 来源:发表于2024-10-16 09:14 被阅读0次

1、statem.c read_state_machine()

设置处理消息

客户端

    tran:ossl_statem_client_read_transition

    客户端处理消息:ossl_statem_client_process_message

    post_process_message:ossl_statem_client_post_process_message()

2、statem_cInt.c ossl_statem_client_read_transition()

3、ossl_statem_client_process_message()

    根据st->hand_state类型

    现在是TLS_ST_CR_SRVR_HELLO (服务器回复的hello)

    所以是:tls_process_server_hello()

4、tls_process_server_hello()

5、具体的报文数据。

记录头消息:

Content Type:记录层子协议类型,22代表握手

Version:版本,必须为0x0303,即TLS1.2

Length:后续数据长度

握手协议消息:

Handshake Type:2代表ServerHello

Length:后续数据长度

Version:03 03 |代表TLS1_2_VERSION

Random:随机数,32字节,前4字节为时间戳,后28字节为安全随机数  9A 8C 1B 4D 95 74 C7 8A 6D 94 C4 92 D1 35 18 F5 64 D2 34 C8 BA 76 20 FD 1A 70 FF D7 2C 05 D5 48 |随机数

Session ID:遗留字段,会话ID,TLS1.3以前的版本支持会话恢复,在TLS1.3已经用PSK替代,在兼容模式下,该字段必须非空。

20 |  session的长度

BE 73 AD 2C 7A 60 51 24 8A 93 B6 53 5D 08 60 AA 8F 4E E9 6C 10 7E 8C 1C 60 1C 28 1D 1F 3F 63 8A |session的具体值 

Cipher Suites:13 02 |密码套件相关的信息  TLS_AES_256_GCM_SHA384

Compression Methods:00 00 |不压缩

2E :后续的长度。

扩展supported_versions:支持的版本,必须设置为0x0304,即TLS1.3版本

00 2B |  代表TLSEXT_TYPE_supported_versions

00 02 |代表长度

03 04| TLS1_3_VERSION

扩展key_share:服务端共享密钥,其实就是密钥协商交换的公钥,采用x25519曲线,公钥长度为32字节

00 33 | 代表 TLSEXT_TYPE_key_share

00 24 | 此类型的长度代表长度

00 1D |  29,支持的曲线类型

00 20 | 公钥的长度

7A 6F 6A FE D2 A3 1C 2C 0A 05 E3 85 24 38 F3 F7 FE EB 6C 4C F9 33 81 F2 BA 71 08 29 FE 71 99 58  | 服务器公钥的值

相关文章

网友评论

      本文标题:openssl(tls1.3)服务器回复ServerHello

      本文链接:https://www.haomeiwen.com/subject/fsqtdjtx.html