TLS1.3握手过程

TLS1.3握手过程_第1张图片

 

tls1.3 首次连接
密码套件:"TLS_AES_256_GCM_SHA384" == 0x1302 为例;
椭圆曲线为 x25519;

C->S 表示client->server, S->C 表示 server->client.
  相同方向的包可以并在一起发送,占用一次RTT(往返时间)。

[Server视角]
  
1. a_tls_get_client_hello()    C->S
  Extension:Key_share(x25519 len == 0x20)
     这0x20作为point, 被EVP_PKEY_set1_tls_encodedpoint;
     初始化tls->handshake->peer_pkey;
     
2. a_tls13_snd_srv_hello()    S->C
  Extension:Key_share(x25519 len == 0x20)
    自己生成一个tls->handshake->self_pkey;
    EVP_PKEY_get1_tls_encodedpoint,0x20字节 (发给client);

3. a_tls13_snd_srv_ccs()       S->C
  与tls1.2一致
    
4. a_tls_snd_enc_ext()          S->C

你可能感兴趣的:(c,c语言,服务器)