https學習筆記以及在retrofit/okhttp中的使用(超多圖,爪機慎入)

說明:
看博客的過程當中作的思惟導圖,截圖貼在這裏.僅是個筆記和摘要,不能算真正的文章.html

證書的分類

按適用的域名數量

按認證等級

按簽發主題

這裏涉及到證書鏈的概念.這也是咱們後續編程處理須要理解的一個概念算法

證書鏈

證書的驗證流程

證書鏈的一些例子

百度的spring

12306編程

let`s encrypted瀏覽器

能夠看到,根證書的有效期是近20年.而let`s encrypted本身的證書有效期是3年.安全

不一樣類型的證書,瀏覽器不一樣的安全標識服務器

導出證書

(以導出let`s encrypted網站的證書的根證書DST Root CA X3爲例)工具

證書的選擇

以上的都是講證書,下面看看https通訊原理學習

原理

基本原理

一次通訊過程(改進後的tls)

第一次握手

第二次握手

後續真正數據的傳輸

安全性和算法改進

相關算法

在安卓客戶端的使用(retrofit/okhttp中)

https的抓包

抓包工具的原理:

原理就是請求/響應的攔截和轉發.
那麼,要在攔截https,獲取到裏面的內容,就應該作到:
對於客戶端,抓包工具就是服務器,https前兩次握手要經過抓包工具提供的證書完成.經過假裝成服務器,拿到真正的解密後的請求內容.
對於服務器,抓包工具就是客戶端,這裏通訊的前兩次握手是利用服務器下發的證書完成的.這個過程相信抓包工具內部已經處理好了.網站

如今問題是,抓包工具提供的證書通常都是不在系統根證書列表中,因此咱們須要作的是,將抓包工具提供的證書安裝到咱們的手機/模擬器/操做系統,這樣https第一次握手就能夠經過,而後全部請求就能夠經抓包工具顯示並轉發了.

怎麼拿到抓包工具的證書?

很簡單,去訪問抓包工具的服務器:
好比fiddler:


下載後放到手機裏,在"設置-安全-安裝憑據"裏安裝就好了.

固然,fiddler要用https抓包還有開啓它的https抓包功能:

那個下拉框能夠選擇 抓全部進程/只抓瀏覽器/只抓遠程端(手機).

參考/學習資料

圖解SSL/TLS協議
SSL/TLS協議運行機制的概述
Retrofit中如何正確的使用https?
HTTPS理論基礎及其在Android中的最佳實踐

相關文章
相關標籤/搜索