上次對(duì)客戶端的認(rèn)證階段進(jìn)行了分析谒臼,本次繼續(xù)上次的內(nèi)容往后進(jìn)行分析。
本次內(nèi)容
先看Client響應(yīng)的
Change Cipher Spec
和Finished
消息,當(dāng)服務(wù)器在前面發(fā)送了Certificate Request
時(shí),客戶端往往也要發(fā)送自己的證書(shū)Certificate以及Certificate Verrify失暴。Change Cipher Spec & Finished From Client
從圖中就可以看出,消息格式和之前服務(wù)器發(fā)送的是一樣的微饥,所以不再進(jìn)行分析逗扒。
New Session Ticket
在服務(wù)器收到客戶端Finished消息后的任何時(shí)間,它都可以發(fā)送NewSessionTicket消息欠橘。
New Session Ticket
Type
缴阎、Version
、Length
表示類(lèi)型简软、版本、長(zhǎng)度述暂。Session Ticket Lifttime Hint
痹升,表示Ticket的剩余有效時(shí)間,此處為172800秒畦韭。Session Ticket Age Add
疼蛾,生成的隨機(jī)32位值。ClientHello中的obfuscated_ticket_age
字段需要將Ticket Age添加上Ticket Age Add艺配,并模2^32得到模糊值(即Obfuscated Ticket Age)察郁。Session Ticket Nonce
衍慎,每個(gè)nonce值在此連接上發(fā)送的所有Ticket中都應(yīng)是唯一的。Session Ticket
皮钠,用來(lái)標(biāo)識(shí)特定的PSK稳捆。Extension
,Ticket的擴(kuò)展值麦轰,當(dāng)前為NewSessionTicket定義的唯一擴(kuò)展名為early_data
乔夯,表示該票據(jù)可用于發(fā)送0-RTT數(shù)據(jù),包含值Maximum Early Data Size
款侵,表示允許客戶端發(fā)送的最大0-RTT數(shù)據(jù)量(以字節(jié)為單位)末荐,接收超過(guò)max_early_data_size字節(jié)的0-RTT數(shù)據(jù)的服務(wù)器應(yīng)該使用unexpected_message
警報(bào)終止連接。