基本的public key, private key 和 https的關系如下:
(1) 主機(server)上要先生成private key, public key兩把key。( 可以互相上鎖、解鎖 )
其中,private key要留在主機裡,public key則是公開給全世界知道
(2) 當一般使用者在瀏覽網頁時拿到這台主機的public key之後,browser就可以靠public key來加密,由此而建立https
// 上述是最簡單的模型。
然而,實際上,在(2) 的步驟,一般使用者拿到public key時,他心裡有一個疑問,「我怎麼知道,現在給我public key的你,沒有被別人冒用了呢?」 這種時候,使用者的瀏覽器就會冒出警告訊息,說收到的public key並沒有被認証過。
於是,為了電子商務的安全性,就要由第三方公証機關 「憑証中心」來代為處理這個「信賴」的問題。將上述的模型複雜化,引入了「憑証中心」這個角色之後,就變成如下:
(1) 主機(server)上要先生成private key, public key兩把key。( 可以互相上鎖、解鎖 )
其中,private key要留在主機裡,public key則是要先做加工之後,才可以讓全世界得知。
(2) public key送給憑証中心簽署認証。這種時候,因為要送public key和相關的一些網站基本資訊出去給憑証中心簽署認証,需要把public key放進一個文件檔,這個文件檔就叫做certificate signing request,副檔名通常是CSR )
(3) 憑証中心簽署完畢後的public key,又可以稱之為ceriticate 。
certificate自憑証中心取回之後,要安裝入主機(server),作為SSL的public key 來使用
(4) 當一般使用者在瀏覽網頁時拿到這台主機的public key( 這時候可以叫它certificate )之後,browser裡頭早就預先安裝好的憑証中心public key會認証這個certificate,然後回報說,這個網站的https是沒有問題的。於是browser就可以用public key來加密,由此而建立https ( 如此一來,browser就不會跳出警告訊息了。)