前言我們經(jīng)常在安裝和部署SSL證書的時候,,需要一同安裝中間證書。中間證書到底是什么,?為什么必須要安裝,?為什么有時候,沒有中間證書,,我的IE也能正常訪問HTTPS,?為什么其他瀏覽器都OK了,但安卓手機(jī)就是不行了,! 中間證書是什么中間證書,,其實(shí)也叫中間CA(中間證書頒發(fā)機(jī)構(gòu),Intermediate certificate authority, Intermedia CA),,對應(yīng)的是根證書頒發(fā)機(jī)構(gòu)(Root certificate authority ,,Root CA),。為了驗(yàn)證證書是否可信,必須確保證書的頒發(fā)機(jī)構(gòu)在設(shè)備的可信CA中,。如果證書不是由可信CA簽發(fā),,則會檢查頒發(fā)這個CA證書的上層CA證書是否是可信CA,客戶端將重復(fù)這個步驟,,直到證明找到了可信CA(將允許建立可信連接)或者證明沒有可信CA(將提示錯誤),。 為了構(gòu)建信任鏈,每個證書都包括字段:“使用者”和“頒發(fā)者”,。 中間CA將在這兩個字段中顯示不同的信息,,顯示設(shè)備如何獲得下一個CA證書,重復(fù)檢查是否是可信CA,。 根證書,,必然是一個自簽名的證書,“使用者”和“頒發(fā)者”都是相同的,,所以不會進(jìn)一步向下檢查,,如果根CA不是可信CA,則將不允許建立可信連接,,并提示錯誤,。 例如:一個服務(wù)器證書 domain.com,是由Intermedia CA簽發(fā),,而Intermedia CA的頒發(fā)者Root CA在WEB瀏覽器可信CA列表中,,則證書的信任鏈如下: 證書 1 - 使用者:domain.com;頒發(fā)者:Intermedia CA 證書 2 - 使用者:Intermedia CA,;頒發(fā)者: Root CA 證書 3 - 使用者:Root CA ,; 辦法和: Root CA 當(dāng)Web瀏覽器驗(yàn)證到證書3:Root CA時,發(fā)現(xiàn)是一個可信CA,,則完成驗(yàn)證,,允許建立可信連接。當(dāng)然有些情況下,,Intermedia CA也在可信CA列表中,,這個時候,就可以直接完成驗(yàn)證,,建立可信連接。 為何需要中間證書
要獲得中間證書,一般有兩種方式:第一種,、由客戶端自動下載中間證書,;第二種、由服務(wù)器推送中間證書,。以下分別討論,。 客戶端自動下載中間證書一張標(biāo)準(zhǔn)的證書,都會包含自己的頒發(fā)者名稱,,以及頒發(fā)者機(jī)構(gòu)訪問信息: Authority Info Access,,其中就會有頒發(fā)者CA證書的下載地址。
通過這個URL,,我們可以獲得這個證書的頒發(fā)者證書,,即中間證書。Windows,、IOS,、MAC都支持這種證書獲取方式,但Android不支持這種方式,,所以,,如果我們僅依靠這種方式來獲得中間證書,,就無法在Android系統(tǒng)上建立可信連接。 除了操作系統(tǒng)支持外,,還有一個很重要的因素,,就是客戶端可以正常訪問公網(wǎng)。如果客戶端本身在一個封閉的網(wǎng)絡(luò)環(huán)境內(nèi),,無法訪問公網(wǎng)下載中間證書,,就會造成失敗,無法建立可信連接,。 此外,,有些CA的中間證書下載地址因?yàn)榉N種原因被“墻”掉了,也會造成我們無法獲得中間證書,,進(jìn)而無法建立可信鏈接,。 雖然自動下載中間證書的機(jī)制如此不靠譜,但在有些應(yīng)用中,,這卻是唯一有效的機(jī)制,,譬如郵件簽名證書,由于我們發(fā)送郵件時,,無法攜帶頒發(fā)郵件證書的中間證書,,往往只能依靠客戶端自己去下載中間證書,一旦這個中間證書的URL無法訪問(被“墻”掉)就會造成驗(yàn)證失敗,。 服務(wù)器推送中間證書服務(wù)器推送中間證書,,就是將中間證書,預(yù)先部署在服務(wù)器上,,服務(wù)器在發(fā)送證書的同時,,將中間證書一起發(fā)給客戶端。我們部署證書,,首先就要找到頒發(fā)服務(wù)器證書的中間證書,,可以用中間證書下載工具 。 如果我們在服務(wù)器上不主動推送中間證書,,可能會造成的問題
雖然我們不部署中間證書,,在大多數(shù)情況,我們依然可以建立可信的HTTPS連接,,但為了避免以上這些情況,,我們必須在服務(wù)器上部署中間證書。 所以,,為了確保我們在各種環(huán)境下都能建立可信的HTTPS連接,,我們應(yīng)該盡量做到以下幾點(diǎn):1、必須在服務(wù)器上部署正確的中間證書,,以確保各類瀏覽器都能獲得完整的證書鏈,,完成驗(yàn)證。 2,、選擇可靠的SSL服務(wù)商,,有些小的CA機(jī)構(gòu),因?yàn)楦鞣N原因,,造成他們的中間證書下載URL被禁止訪問,,即使我們在服務(wù)器上部署了中間證書,但也可能存在某種不可測的風(fēng)險,,這是我們應(yīng)該盡力避免的,。 3、中間證書往往定期會更新,,所以在證書續(xù)費(fèi)或者重新簽發(fā)后,,需要檢查是否更換過中間證書。
文檔編寫日期:2016年10月20日 |
|