传输层安全性协定 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
更多优秀内容,请 关注微信公众号【极客收藏夹】 获取,加群还能够与小伙伴们交流讨论哦!