圖一:

image.png
圖二:

image.png
圖三 SSL連接建立過程:

image.png
ssl連接建立過程
1.client首先發(fā)送一條握手信息給服務(wù)端,包含兩個(gè)主要內(nèi)容:一是隨機(jī)數(shù)number 1,二是協(xié)商的一些加密算法(或者客戶端支持的一些加密算法)
2.服務(wù)端收到client發(fā)的握手信息后,會返回給客戶端一條信息,包含兩個(gè)主要內(nèi)容:一是隨機(jī)數(shù)number 2,二是匹配好的協(xié)商加密算法
3.在進(jìn)行第2步之后,會隨之發(fā)送客戶端一個(gè)證書
4.(evaluate trust certificate)客戶端會對證書進(jìn)行一個(gè)校驗(yàn),主要是兩點(diǎn):一是客戶端要驗(yàn)證服務(wù)端傳來的證書的數(shù)字摘要和服務(wù)端證書解密之后的內(nèi)容是否一致,來確定是否篡改;二是證書鏈,逐級判斷證書一直到根證書是否在操作系統(tǒng)中的可信任證書列表當(dāng)中。(根證書默認(rèn)是會被植入到瀏覽器當(dāng)中或者操作系統(tǒng)中)
- 組裝會話秘鑰(assemble session secret key):客戶端根據(jù)number 1,number 2及預(yù)主秘鑰去組裝會話秘鑰
6,客戶端會把預(yù)主秘鑰通過服務(wù)端傳過來的證書里面的公鑰加密然后傳遞給服務(wù)端 - 服務(wù)端拿到加密之后的預(yù)主秘鑰,然后服務(wù)端通過私鑰去解密預(yù)主秘鑰,然后服務(wù)端獲得三個(gè)數(shù),number 1,number 2及預(yù)主秘鑰
- 服務(wù)端拿到number 1,number 2及預(yù)主秘鑰這三個(gè)數(shù)之后,組裝會話秘鑰
- 客戶端會使用組裝出來的會話秘鑰去加密一條消息,然后把加密后的握手消息傳遞給服務(wù)端,這一過程主要驗(yàn)證服務(wù)端能否正常接收客戶端加密過的數(shù)據(jù)消息
- 同樣的,服務(wù)端也會給客戶端發(fā)送一條加密后的消息,來驗(yàn)證客戶端能否正常解析加密后的數(shù)據(jù)
如果都驗(yàn)證通過,則ssl連接建立成成功。
圖四:URL基本解釋

image.png