最近一直在忙活Mobile上的CSP,代码迁移完成后,在测试的过程中遇到了一些问题。
Client Server
--------------------------------------------------------------------------------------------------------
<-------- hellorequest(连接后由服务器试情况发起)
ClientHello -------->
携带版本、随机数,Session_ID ServerHello 携带版本、随机数,Session_ID 、密码套件信息等
密码套件信息等 Certificate# 服务器证书
ServerKeyExchange# 服务器公钥信息
#数据包至多存在一个,如服务器无需表明身份或无安全身份,则不发送
#如服务器没有证书,则使用公钥交换
CertificateRequest* 要求客户端证书
如需要验证客户端身份,则发送此数据包,连接模式为双端
网银等需要客户端证书等应用需要此数据包
<-------- ServerHelloDone 服务器Hello响应完成
Certificate/NO_Certificate
如果服务器要求客户端证书,而客户端存在发送
否则发送NO信息
ClientKeyExchange
如果双端使用公钥交换而不是证书交换,使用此消息
CertificateVerify*
如果客户端发送证书的话,则使用此消息发送一个该证书的签名
[ChangeCipherSpec]安全套件更新
Finished -------->
[ChangeCipherSpec]安全套件更新确认
<-------- Finished
----------------------------------------------------------------------------------------------------------
Application Data <-------> Application Data 开始数据传输阶段