傳輸層安全性協定 TLS(Transport Layer Security),及其前身安全套接層 SSL(Secure Sockets Layer)是一種安全協議,目的是爲網際網路通訊,提供安全及數據完整性保障。
如圖,TLS 在創建鏈接時是須要html
而這一流程 服務端的證書 是相當重要的。git
證書用來證實公鑰擁有者身份的憑證
首先咱們須要知道 證書是怎麼來的。算法
數字證書通常由數字證書認證機構簽發,須要安全
證書包含了服務器
證書的格式和驗證方法廣泛遵循 X.509 國際標準。微信
數字證書認證機構(英語:Certificate Authority,縮寫爲CA),也稱爲電子商務認證中心、電子商務認證受權機構,是負責發放和管理數字證書的權威機構,並做爲電子商務交易中受信任的第三方,承擔公鑰體系中公鑰的合法性檢驗的責任。
其實任何個體/組織均可以成爲CA(自簽證書),可是你發發布的證書客戶端是不信任的,也是就前文說起的須要權威。好比 Symantec、Comodo、Godaddy、Digicert。hexo
客戶端信任這些CA,就會在其本地保持這些CA的 根證書(root certificate),根證書是CA本身的證書,是證書驗證鏈的開頭。
根證書沒有機構(已是權威了)再爲其作數字簽名,因此都是自簽證書。dom
CA會經過 中介證書(intermediate-certificate) 替代根證書的去作服務器端的證書籤名,確保根證書密鑰絕對不可訪問。加密
Godaddy 給出瞭解釋spa
What is an intermediate certificate?
前文提到,在向CA 申請證書時是須要 CA的私鑰 去對整個證書的簽名摘要作非對稱加密的,也就是證書是能夠經過 CA的公鑰 去解密獲得證書的簽名摘要的。
當咱們再次用 相同的摘要算法(證書裏面有保存所使用的算法)對整個證書作簽名,若是獲得的簽名和證書上的簽名是一致的,說明這個證書是可信任的。
同理,中介證書 也是能夠被這樣的方式證實其可信任。這樣的一整個流程稱爲 信任鏈(Chain of trust)。
就是我絕對相信你(A>B);你絕對相信他(B>C);等於我絕對相信他(A>C)
如下是整個流程:
https://www.wikiwand.com/zh/根證書
https://www.wikiwand.com/zh-hans/信任鏈
https://www.wikiwand.com/zh-hans/證書頒發機構
http://www.cnblogs.com/JeffreySun/archive/2010/06/24/1627247.html
http://www.ruanyifeng.com/blog/2011/08/what_is_a_digital_signature.html
更多優秀內容,請 關注微信公衆號【極客收藏夾】 獲取,加羣還能夠與小夥伴們交流討論哦!