1. 程式人生 > >APP爬蟲- 手機安裝證書-解決SSL證書的移動端資料包問題

APP爬蟲- 手機安裝證書-解決SSL證書的移動端資料包問題

什麼是SSL pinning

https協議驗證伺服器身份的方式通常有三種,一是根據瀏覽器或者說作業系統(Android)自帶的證書鏈;二是使用自簽名證書;三是自簽名證書加上SSL Pinning特性。第一種需要到知名證書機構購買證書,需要一定預算。第二種多見於內網使用。第三種在是安全性最高的,但是需要瀏覽器外掛或客戶端使用了SSL Pinning特性。 Android應用程式在使用https協議時也使用類似的3種方式驗證伺服器身份,分別是系統證書庫、自帶證書庫、自帶證書庫 + SSL Pinning特性。 所以SSL Pinning,即SSL證書繫結,是驗證伺服器身份的一種方式,是在https協議建立通訊時增加的程式碼邏輯,它通過自己的方式驗證伺服器身份,然後決定通訊是否繼續下去。它唯一指定了伺服器的身份,所以安全性較高。

通俗的來說就是:

app釋出的時候把伺服器的證書資訊“繫結“在APP端,然後建立連線時使用預先內建的繫結資訊進行伺服器證書校驗,同時使用足夠的程式碼加密或混淆,這種辦法就是SSL pinning,如果證書校驗失敗,則無法獲取伺服器端返回資訊