文档介绍::..•对SSL握手协议的研究(part-1)•对SSL握手协议的研究(part-2)••,分为四种。一一FullHandshake:全流程握手,C/S双方从无到有建立SSL连接; ResumsessionHandshake:C/S双方曾经建立过连接,但屮途断了,SSL会话信息还有保留,只需要执行部分握手流程就可建立SSL连接; ServerRe-negotiationHandshake:已经建立了SSL连接,但server端为了某些原因(比如安全性)要求重新对密钥进行协商,也只需要执行部分握手流程; ClientRe-negotiationHandshake:已经建立SSL连接,但client端为了某些原因要求重新协商,只需执行部分握手流程。FullHandshake这里主要介绍全流程握手,握手步骤如下图所示,英他的握手过程都屈丁•全流程的子集。SSL握手协议总共有10屮消息类型,类型名和枚举值如下:hello_request(0),client_hello(l),server_hello(2),certificate(ll),serverkeyexchange(12),certificatcrequest(13),serverdone(14),certificateverify(15),clientkeyexchange(16),finished(20)aClientHello[ChangeCipherSpec]ServerFinishedMessageServerHelloServerCertificate*ServerKeyExchange*ClientCertificateRequest*ServerHelloDoneClientCertificate*ClientKeyExchangeCertificateVerify*[ChangeCipherSpec]ClientFinishedMessageHandshakeProtocolApplicationData RecordProtocolApplicationData*Optionalorsituation-dependentmessages[ChangeCipherSpec]isnotaTLShandshakemessagebutisanindependent^:struet{HandshakeTypemsg_type;/*握手消息类型,如上所述的枚举值*/uint24length;/*握手消息体的长度用24位表示,即最大长度不超过16M*/HandShakeMsgpayload/*握手消息的有效荷载,上面列的10类型之一*/}Handshake;•Client