訪問HTTPS過程
首先瀏覽器向服務器的443端口發出請求,請求攜帶的有加密算法和哈希算法。
服務器收到請求后,會選擇瀏覽器支持的加密方式,把數字證書發送給瀏覽器。
瀏覽器再拿到證書以后,在內置的TLS中開始認證環節。
首先在內部證書列表中查找,找到服務器下發證書對應的機構,沒找到的話,提示用戶該證書不是權威機構下發的不可信任。如果找到找到對應的機構,則取出該機構頒發的公鑰。
使用證書的公鑰解密后,得到該證書的內容和簽名,證書內容包括(證書的網址、證書的公鑰、證書有效期)。瀏覽器會驗證證書的網址是否一致,證書是否到期,如果不通過則提示用戶,通過則表示可以安全使用網站公鑰。
瀏覽器生成一個隨機數,使用公鑰加密,並將加密后的隨機數發送給服務器。
服務器使用自己的私鑰解密后得到隨機數。
服務器以隨機數為密鑰使用對稱加密算法加密網頁內容,並發送給瀏覽器。
瀏覽器以隨機數為密鑰使用之前約定好的解密算法獲取網頁內容。
對稱加密算法:對稱加密算法是應用較早的加密算法,技術成熟。在對稱加密算法中,數據發信方將明文(原始數據)和加密密鑰(mi yao)一起經過特殊加密算法處理后,使其變成復雜的加密密文發送出去。收信方收到密文后,若想解讀原文,則需要使用加密用過的密鑰及相同算法的逆算法對密文進行解密,才能使其恢復成可讀明文。在對稱加密算法中,使用的密鑰只有一個,發收信雙方都使用這個密鑰對數據進行加密和解密,這就要求解密方事先必須知道加密密鑰。