握手过程的第一条有效消息clienthello,总是从客户端先发出。
消息作用:
- 传送一些链接的参数为以后使用
- 携带客户端给出的一些连接参数的选择列表,便于服务器从中选择
握手协议
Client Hello 子消息
当客户端连接到服务器的时候,发送的第一条消息就是它。
客户端发送 Client Hello 消息后,就会等待服务器发送 Server Hello 消息,如果没有接
收到该消息或者接收到的是其他子消息,会产生一个致命错误。
结构体
CLIENTHELLO_MSG
处理函数
MSG_PROCESS_RETURN tls_process_client_hello(SSL *s, PACKET *pkt)
Server Hello 子消息
服务器端接收到客户端的 Clinet Hello 消息后,最重要的操作就是根据客户端传递过
来的密码套件,结合服务器端配置的密码套件,选择一个双方都支持的密码套件,如果匹
配错误,表示握手失败。
处理函数
tls_construct_serve