目錄
免費申請證書
HTTPS原理
問題:
瀏覽器如何驗證憑證
如何證明CA憑證本身不是偽造的呢?
如何檢驗根憑證的合法性?
自簽名證書
首頁 運維 windows維 手把手教你在瀏覽器校驗HTTPS數位證書

手把手教你在瀏覽器校驗HTTPS數位證書

Jan 29, 2023 pm 05:07 PM
瀏覽器 https

本篇文章為大家帶來了關於HTTPS的相關知識,其中主要介紹了瀏覽器是怎麼校驗HTTPS的數位證書 ,以及HTTP協定、相關憑證的概念介紹,下面一起來看一下,希望對大家有幫助。

手把手教你在瀏覽器校驗HTTPS數位證書

本文解決的問題如下:

  • 為何從HTTP協定變成HTTPS協定為何需要憑證?
  • HTTPS協定如何體現安全性(HTTPS協定原則)?
  • 如何免費取得HTTPS所需的憑證以及如何部署憑證到伺服器?
  • 瀏覽器如何驗證憑證?
  • 憑證包含哪些內容?
  • CA憑證和網關憑證是一個東西嗎?

免費申請證書

免費申請證書網站:https://freessl.cn

  • 網域申請,並解析到伺服器

  • 憑證與網域綁定

  • 在伺服器下載憑證部署腳本,並部署

HTTPS原理

從HTTP 協定堆疊層級來看,我們可以在TCP 和HTTP 之間插入一個安全層,所有經過安全層的資料都會被加密或解密,

手把手教你在瀏覽器校驗HTTPS數位證書

於是HTTPS變成了HTTP和安全層先通信,安全層再和TCP通信。在安全層完成資料的加解密過程。

加密方式:

  • 對稱加密,就是雙方使用“相同的金鑰”,一方加密一方解密。
    • 優點:加上解密快
    • 缺點:加密金鑰易暴露,安全性低
  • 非對稱加密,就是一方使用公鑰加密,另一方只能使用私鑰解密,公鑰和私鑰是唯一配對的。
    • 優點:安全性
    • 缺點:加解密慢

#基於上述特性,傳輸資料過程採用對稱加密方式保證資料傳輸效率, 用非對稱加密方式解決金鑰易暴露問題。

手把手教你在瀏覽器校驗HTTPS數位證書

  • 瀏覽器發起https握手連結時,告知伺服器自己支援的「對稱加密套件清單」 和「非對稱加密套件清單」以及一個自己產生的“隨機數client-random”。

  • 伺服器收到請求後,選擇自行支援的加密方式告知瀏覽器,且傳回一個「資料數service-random」 和「伺服器的數位憑證」 和頒發給伺服器數字證書這個「CA機構本身的數位證書」。

  • 瀏覽器驗證「伺服器數位憑證」和「CA機構數位憑證」的有效性, 驗證成功後,再產生一個隨機數「pre-master”,並使用「伺服器數位憑證」中攜帶的「公鑰」會將隨機數「pre-master」加密,並發送給服務確認。

  • 伺服器利用「伺服器數位憑證」的「私鑰」進行解密,得到隨機數「pre-master」, 並回應瀏覽器已收到。

  • 瀏覽器把之前自己產生的隨機數「client-random」、「pre-master」 以及伺服器傳回的「service-random」 組合在一起產生一個新的金鑰“master secret”, 之後利用新的金鑰進行與伺服器之間資料的加密。

問題:

  • 伺服器上的憑證來自哪裡?
    向CA機構申請的數位證書, 部署在伺服器上時,一般除了CA機構發給服務的數位證書(俗稱網關證書),還有「CA機構本身的數位證書」。

  • CA機構頒發給伺服器的數位憑證包含哪些內容?
    至少包含了向CA機構申請證書時的“組織機構/個人資訊”, “證書有效期”、“證書的公鑰”、“CA機構給到證書的數位簽名”、“CA機構資訊”等

  • 伺服器上只部署了伺服器自己的證書,沒有CA機構的數位證書,咋辦?
    伺服器上沒得到CA機構的數位憑證時,瀏覽器可以從網路自動下載,但這樣可能拉長首次介面/頁面造訪的時間,還可能失敗。

瀏覽器如何驗證憑證

首先,瀏覽器利用憑證中指定的hash演算法對」組織機構的明文資訊」計算出資訊摘要
然後,利用CA憑證的公鑰來解密數位憑證中的”數位簽章”,解密出來的資料也是資訊摘要。
最後,判定兩個摘要資訊是否相等就行。

手把手教你在瀏覽器校驗HTTPS數位證書

如何證明CA憑證本身不是偽造的呢?

簡單粗暴的方案是:作業系統內建所有CA機構的證書,且假設這個作業系統沒有被惡意入侵。

折中方案是:把CA機構分成兩類,根CA和中間CA, 我們通常向中間CA申請證書,根CA主要給中間CA做認證用。中間CA又可以給其它中間CA認證,形成樹狀結構,一級級認證,直到找到根證書。

憑證上都有憑證鏈,能找到上一層機構是什麼,使用與上一步相同的演算法,讓上一層機構證實目前憑證的真實性,直到追溯到根憑證,而根憑證只需要在作業系統中可查找到就任務是對的,因為根憑證是業界瀏覽器和作業系統廠商的規範。

如何檢驗根憑證的合法性?

根證書在安裝作業系統時內建了。內建的根證書,是透過WebTrust國際安全審計認證的,權威證書。

如何驗證根憑證是否​​合法,瀏覽器尋找根憑證是否​​存在作業系統裡面,若不是則不合法,反之則合法。

WebTrust 是由兩大著名註冊會計師協會AICPA(美國註冊會計師協會)和CICA(加拿大註冊會計師協會)共同製定的安全審計標準,主要對互聯網服務商的系統及業務運作邏輯安全性、保密性等共七項內容進行近乎嚴苛的審查與鑑證。只有通過 WebTrust 國際安全審計認證,根憑證才能預先安裝到主流的作業系統,並成為一個可信任的認證機構。

自簽名證書

自簽署的CA證書,需要用戶提前內建證書在用戶電腦檔案中,或放置在伺服器上。
根憑證就是一種特殊的自簽名憑證。  

建議學習:《HTTP影片教學》                       ##    

以上是手把手教你在瀏覽器校驗HTTPS數位證書的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

如何通過CSS自定義resize符號並使其與背景色統一? 如何通過CSS自定義resize符號並使其與背景色統一? Apr 05, 2025 pm 02:30 PM

CSS自定義resize符號的方法與背景色統一在日常開發中,我們經常會遇到需要自定義用戶界面細節的情況,比如調...

如何在網頁上正確顯示本地安裝的'荊南麥圓體”? 如何在網頁上正確顯示本地安裝的'荊南麥圓體”? Apr 05, 2025 pm 10:33 PM

在網頁中使用本地安裝的字體文件最近,我從網上下載了一種免費字體,並成功將其安裝到了我的系統中。現在...

什麼是HTTP,為什麼對Web應用程序至關重要? 什麼是HTTP,為什麼對Web應用程序至關重要? Apr 09, 2025 am 12:08 AM

HTTPS是一種在HTTP基礎上增加安全層的協議,主要通過加密數據保護用戶隱私和數據安全。其工作原理包括TLS握手、證書驗證和加密通信。實現HTTPS時需注意證書管理、性能影響和混合內容問題。

為什麼在Safari中自定義樣式表能在本地網頁生效,但在百度頁面上卻無法生效? 為什麼在Safari中自定義樣式表能在本地網頁生效,但在百度頁面上卻無法生效? Apr 05, 2025 pm 05:15 PM

在Safari中使用自定義樣式表的問題探討今天我們來探討一個關於Safari瀏覽器的自定義樣式表應用問題。前端新手...

Flex佈局下文字超出省略卻撐開容器?如何解決? Flex佈局下文字超出省略卻撐開容器?如何解決? Apr 05, 2025 pm 11:00 PM

Flex佈局下文字超出省略導致容器撐開的問題及解決方法在使用Flex...

為什麼Edge瀏覽器中的特定div元素無法顯示?如何解決這個問題? 為什麼Edge瀏覽器中的特定div元素無法顯示?如何解決這個問題? Apr 05, 2025 pm 08:21 PM

如何解決用戶代理樣式表導致的顯示問題?在使用Edge瀏覽器時,項目中的一個div元素無法顯示。經過查看,發�...

負邊距在某些情況下為何未生效?如何解決這個問題? 負邊距在某些情況下為何未生效?如何解決這個問題? Apr 05, 2025 pm 10:18 PM

負邊距為何在某些情況下未生效?在編程過程中,CSS中的負邊距(negative...

如何在網頁上使用本地安裝的字體文件? 如何在網頁上使用本地安裝的字體文件? Apr 05, 2025 pm 10:57 PM

如何在網頁上使用本地安裝的字體文件你是否在網頁開發中遇到過這樣的情況:你已經在自己的電腦上安裝了一...

See all articles