第壹步:fiddler向服務器發送握手請求,獲取服務器的CA證書,用根證書公鑰解密,驗證服務器數據簽名,獲取服務器的CA證書公鑰。
第二步,fiddler偽造自己的CA證書,作為服務器證書傳遞給客戶端瀏覽器,客戶端瀏覽器做的和fiddler壹樣。
第三步,客戶端瀏覽器生成https通信的對稱密鑰,用fiddler偽造的證書公鑰加密,傳輸到服務器,被fiddler截獲。
第四步,fiddler用其偽造證書的私鑰解密截獲的密文,得到https通信的對稱密鑰。
第五步,fiddler通過用服務器證書的公鑰對對稱密鑰進行加密,將對稱密鑰發送給服務器。服務器用私鑰解鎖後,建立信任,完成握手,用對稱密鑰加密消息,開始通信。
步驟6,fiddler接收服務器發送的密文,用對稱密鑰解密得到服務器發送的明文。再次加密並發送到客戶端瀏覽器。
第七步,客戶端向服務器發送消息,用對稱密鑰加密,被fidller截獲後解密得到明文。
因為fiddler總是有壹個用於通信的對稱密鑰,所以在整個https通信過程中,信息對它是透明的。