1. 程式人生 > >瀏覽器和伺服器證書信任概念理解

瀏覽器和伺服器證書信任概念理解

關於瀏覽器和伺服器之間證書信任的問題

證書分為兩種:一種是證書,一種是根證書;證書是指頒發者信任被頒發者,根證書是被頒發者信任頒發者。

讓我們舉例來更詳細的分析這兩種證書的區別:

1. 如頒發證書的機構CSDN可以頒發這兩種證書。

2. 當CSDN把證書頒給小李,說明小李是被CSDN所信任的;

3. 當CSDN把證書頒給大李,說明大李是信任CSDN機構的;

4. 那麼小李和大李彼此信任;

再轉回到瀏覽器與伺服器對證書的解釋:

如,你用chrome的時候,經常會看到瀏覽器提示“此站點是否信任”,具體是否信任由使用者來決定,可以提醒你如果是刻意盜用你賬戶使用者密碼的黑客網站的攻擊。

那麼我們搭建的伺服器,我們知道可以信任,但是瀏覽器不知道啊,所以在每次訪問我們的伺服器的時候都會彈出這樣的提示對話方塊,會覺得沒有必要,那麼就該前面說的證書上場了;

1. 我們可以建立兩個證書,一個證書讓伺服器進行安裝;

2. 一個根證書讓瀏覽器進行安裝;

3. 這樣瀏覽器在訪問伺服器的時候,伺服器首先會返回它的證書,瀏覽器會用自己的證書和伺服器返回的證書進行匹配,如果是可信任的證書,那麼就會直接通過,不會出現“此站點是否信任”的阻止對話方塊;

4. 但是,如果你的瀏覽器安裝了證書,可以你訪問伺服器的時候用的是ip地址,但是伺服器返回的證書用的是域名,瀏覽器會進行提示,你可以繼續進行訪問;所以,最好訪問的host名字和證書的名字是一樣的;

如果你要用websocket,由於它是用wws協議的,所以,必須要安裝證書,否則在javascript呼叫web socket,會直接拒絕。只有你在瀏覽器顯示的信任相應的站點,web socket才可以使用。

至於具體怎麼做證書,有專門的工具。