公司:#百度 #小米
崗位:#接口測試工程師
關鍵字:#接口測試 #接口測試工程師 #API接口 #fiddler
第一步,Fiddler截獲客戶端發送給服務器的HTTPS請求,Fiddler偽裝成客戶端向服務器發送請求進行握手 。
第二步,服務器發回相應,Fiddler獲取到服務器的CA證書, 用根證書(這里的根證書是CA認證中心給自己頒發的證書)公鑰進行解密, 驗證服務器數據簽名, 獲取到服務器CA證書公鑰。然后Fiddler偽造自己的CA證書(這里的CA證書,也是根證書,只不過是Fiddler偽造的根證書), 冒充服務器證書傳遞給客戶端瀏覽器。
第三步,與普通過程中客戶端的操作相同,客戶端根據返回的數據進行證書校驗、生成密碼Pre_master、用Fiddler偽造的證書公鑰,并生成HTTPS通信用的對稱密鑰enc_key。
第四步,客戶端將重要信息傳遞給服務器, 又被Fiddler截獲。Fiddler將截獲的密文用自己偽造證書的私鑰解開, 獲得并計算得到HTTPS通信用的對稱密鑰enc_key。Fiddler將對稱密鑰用服務器證書公鑰傳遞給服務器。
第五步,與普通過程中服務器端的操作相同,服務器用私鑰解開后建立信任,然后再發送握手消息給客戶端。
第六步,Fiddler截獲服務器發送的密文, 用對稱密鑰解開, 再用自己偽造證書的私鑰傳給客戶端。
第七步,客戶端拿到信息后,用公鑰解開,驗證HASH。握手過程正式完成,客戶端與服務器端就這樣建立了”信任“。