下面來說說如何自己製作根CA證書以及伺服器證書和客戶端證書:
客戶端安裝伺服器根證書ca.crt到客戶端信任證書庫中,伺服器端安裝伺服器根證書ca.crt到伺服器信任證書庫中。
SSL握手時,伺服器先將伺服器證書server.p12發給客戶端,客戶端會到客戶端信任證書庫中進行驗證,
因為server.p12是根證書CA頒發的,所以驗證通過;然後客戶端將客戶端證書client.p12發給伺服器,同理因為client.p12是根證書CA頒發的,所以驗證通過。
先下載安裝xca工具,地址是http://xca.hohnstaedt.de/
先用xca創建一本ca證書
xca打開的介面
依次File, New DataBase,選擇xdb文件保存路徑,再輸入密碼
切換到Certificates頁面,點擊New Certificate
出現如下介面
因為要創建根證書,這裡選擇序號為1的自認證證書,簽名算法選擇SHA 256,證書模版選擇默認CA,再點擊Apply all(這個不能漏)如下所示:
再切到Subject頁面,填好各個欄位,都可以隨便填
再點擊Generate a new key生產私鑰
最後點擊OK,CA證書做好了,有效期默認10年
將根證書導出成只包含公鑰的證書格式,這本根證書就是放在網站上供用戶下載安裝,或主動安裝到客戶機器中的:
製作伺服器證書、客戶端證書和製作CA證書差不多,只有兩個地方不一樣:
- 選擇已經製作好的根CA,然後點擊New Certificate簽名時,選擇使用根證書,這裡是hangzhou進行簽名頒發,然後證書模版選擇伺服器(製作客戶端證書就選擇HTTPS_client),其他都和製作根證書一樣,然後點擊Apply all(這個一定不能忘),然後再切到Subject、Extension頁面填寫相應的東西就OK了製作完成:然後再將伺服器證書導出來,選擇p12格式同理製作客戶端證書,並將之導出,也是p12格式的證書,包含私鑰