#1、协商版本号遵循如下原则:
##在server端收到clienthello时,拿出消息中的版本号,再看看自己支持的版本列表,选个两者都支持的最高版本号定为这次协商出来的SSL协议使用的版本。
#2、SSL结构体中关于版本号成员有4个,如图:
可供配置API有2个,如下:
mbedtls_ssl_conf_min_version:配置最大主版本号、副版本号
mbedtls_ssl_conf_max_version:配置最小主版本号、副版本号 在client hello中会根据配置值携带版本号,如图一、图二:
##图一、
##图二、
3、关于主版本号、副版本号联系: SSL所使用的版本为3.0,版本号也为3.0.x(x代表未知数因为SSL还在更新),而TLS版本为1.0,但版本号却为SSL3.1.0,也就是说,SSL或者是TLS的主版本号都固定为MBEDTLS_SSL_MINOR_VERSION_3,副版本号则存在一个范围,可自主配置为SSL3.0或者TLS1.0、TLS1.1、TLS1.2。那么就可以通过调用如上两个API来配置支持的协议版本号。
相关文章: