RFC5246解读:ClientHello——国密SSL专题

RFC5246解读:ClientHello——国密SSL专题

TLS1.2

TLS1.2协议

ClientHello

当发送消息时:
  当客户端第一次连接服务端,需要发送ClientHello。客户端也可以发送ClientHello作为对HelloRequest的响应,或主动发送以便重新协商现有连接中的安全参数。

ClientHello的结构:
  ClientHello包括一个随机数结构,
  struct {
    uint32 gmt_unix_time;
    opaque random_bytes[28];
  } Random;
  
  gmt_unix_time
    现在的日期和时间是标准UNIX 32位格式(从1970年1月1日00:00开始,UTC,忽略闰秒)根据发送者的内部时钟。时钟不需要被设置得准确通过基础TLS协议;更高层或者应用层协议可能会定义额外的需求。注意,由于历史原因,数据元素被命名使用GMT,当前世界时基UTC的前身。
  
  random_bytes
  28字节由安全随机数生成器生成。
ClientHello包括可变长度会话标识符。如果非空,该值定义了在相同客户端和服务端之间的一个会话,客户端希望重用这个安全参数。会话标识符可能会来自一个更早的连接,或者来自另一个现在活跃的连接。第二个选择是有用的如果客户端仅仅希望升级随机数结构和导出连接的值。第三个选项成功建立几个独立安全的连接没有复制全部的握手协议。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章