ssl中間證書

中間證書,其實也叫中間CA(中間證書頒發機構,Intermediate certificate authority, Intermedia CA),對應的是根證書頒發機構(Root certificate authority ,Root CA)。爲了驗證證書是否可信,必須確保證書的頒發機構在設備的可信CA中。若是證書不是由可信CA簽發,則會檢查頒發這個CA證書的上層CA證書是不是可信CA,客戶端將重複這個步驟,直到證實找到了可信CA(將容許創建可信鏈接)或者證實沒有可信CA(將提示錯誤)。html

爲了構建信任鏈,每一個證書都包括字段:「使用者」和「頒發者」。 中間CA將在這兩個字段中顯示不一樣的信息,顯示設備如何得到下一個CA證書,重複檢查是不是可信CA。瀏覽器

根證書,必然是一個自簽名的證書,「使用者」和「頒發者」都是相同的,因此不會進一步向下檢查,若是根CA不是可信CA,則將不容許創建可信鏈接,並提示錯誤。安全

例如:一個服務器證書 domain.com,是由Intermedia CA簽發,而Intermedia CA的頒發者Root CA在WEB瀏覽器可信CA列表中,則證書的信任鏈以下:服務器

證書 1 - 使用者:domain.com;頒發者:Intermedia CA網絡

證書 2 - 使用者:Intermedia CA;頒發者: Root CAdom

證書 3 - 使用者:Root CA ; 辦法和: Root CA工具

當Web瀏覽器驗證到證書3:Root CA時,發現是一個可信CA,則完成驗證,容許創建可信鏈接。固然有些狀況下,Intermedia CA也在可信CA列表中,這個時候,就能夠直接完成驗證,創建可信鏈接。操作系統

爲什麼須要中間證書

  • 保護根證書。若是直接採用根證書籤發證書,一旦發生根證書泄露,將形成極大的安全問題。因此目前根證書都要求離線保存,若是須要用根證書籤名,則必須經過人手工方式,直接用根證書在線簽發證書是不容許的。
  • 區分不一樣類型的產品。針對DV,OV,EV等不一樣類型,不一樣安全級別的證書,CA會採用不一樣的根證書,一來便於區分,二來一旦出現問題,也便於區別處理,下降影響。中間CA證書通常都是支持在線簽發證書的。
  • 交叉驗證。爲了得到更好的兼容性,支持一些很古老的瀏覽器,有些根證書自己,也會被另一個很古老的根證書籤名,這樣根據瀏覽器的版本,可能會看到三層或者是四層的證書鏈結構,若是能看到四層的證書鏈結構,則說明瀏覽器的版本很老,只能經過最先的根證書來識別。

要得到中間證書,通常有兩種方式:第一種、由客戶端自動下載中間證書;第二種、由服務器推送中間證書。如下分別討論。htm

客戶端自動下載中間證書

一張標準的證書,都會包含本身的頒發者名稱,以及頒發者機構訪問信息: Authority Info Access,其中就會有頒發者CA證書的下載地址。blog

 authority info access

經過這個URL,咱們能夠得到這個證書的頒發者證書,即中間證書。Windows、IOS、MAC都支持這種證書獲取方式,但Android不支持這種方式,因此,若是咱們僅依靠這種方式來得到中間證書,就沒法在Android系統上創建可信鏈接。

除了操做系統支持外,還有一個很重要的因素,就是客戶端能夠正常訪問公網。若是客戶端自己在一個封閉的網絡環境內,沒法訪問公網下載中間證書,就會形成失敗,沒法創建可信鏈接。

此外,有些CA的中間證書下載地址由於種種緣由被「牆」掉了,也會形成咱們沒法得到中間證書,進而沒法創建可信連接。

雖然自動下載中間證書的機制如此不靠譜,但在有些應用中,這倒是惟一有效的機制,譬如郵件簽名證書,因爲咱們發送郵件時,沒法攜帶頒發郵件證書的中間證書,每每只能依靠客戶端本身去下載中間證書,一旦這個中間證書的URL沒法訪問(被「牆」掉)就會形成驗證失敗。

 服務器推送中間證書

服務器推送中間證書,就是將中間證書,預先部署在服務器上,服務器在發送證書的同時,將中間證書一塊兒發給客戶端。咱們部署證書,首先就要找到頒發服務器證書的中間證書,能夠用中間證書下載工具 。 

若是咱們在服務器上不主動推送中間證書,可能會形成的問題

  • Android手機沒法自動下載中間證書,形成驗證出錯,提示證書不可信,沒法創建可信鏈接。
  • Java客戶端沒法自動下載中間證書,驗證出錯,可信鏈接失敗。
  • 內網電腦,在禁止公網的狀況下,沒法自動下載中間證書,驗證出錯,可信鏈接失敗。

雖然咱們不部署中間證書,在大多數狀況,咱們依然能夠創建可信的HTTPS鏈接,但爲了不以上這些狀況,咱們必須在服務器上部署中間證書。

因此,爲了確保咱們在各類環境下都能創建可信的HTTPS鏈接,咱們應該儘可能作到如下幾點:

一、必須在服務器上部署正確的中間證書,以確保各種瀏覽器都能得到完整的證書鏈,完成驗證。

二、選擇可靠的SSL服務商,有些小的CA機構,由於各類緣由,形成他們的中間證書下載URL被禁止訪問,即便咱們在服務器上部署了中間證書,但也可能存在某種不可測的風險,這是咱們應該盡力避免的。

三、中間證書每每按期會更新,因此在證書續費或者從新簽發後,須要檢查是否更換過中間證書。

相關文章
相關標籤/搜索