Https通信的SSL证书工作流程原理

前言

浏览器服务器之间的https加密通信会包括以下一些概念:非对称加密、对称加密、RSA、证书申请、根证书。https证书加密,就是在传输层tcp和应用层http之间加了一层ssl层来对传输内容进行加密。用时序图简单记录一下大致过程吧。

证书工作原理

服务器证书机构申请证书的流程如下:
1.首先服务器会自行生成一对非对称的公私钥对,将公钥和域名等信息提交到证书机构申请证书,服务器的私钥由自身保管。
2.证书机构会使用自己的私钥对服务器传输过来的公钥和域名信息做签名,一起组成证书交给服务器

浏览器服务器发起Https请求的流程如下:
1.首先浏览器服务器发起请求。
2.服务器证书机构颁发给自己的证书传递给浏览器
3.浏览器从本地安装的根证书中找到证书机构的公钥,用公钥来验签证书的正确性,确保是证书机构用私钥签名的合法证书。
4.浏览器随机生成一个对称秘钥key,用证书中的服务器公钥加密这个key,再传输给服务器
5.服务器用私钥解密后取出对称秘钥key,并用该key加密确认内容返回给客户端,告知可以开始通信。
6.浏览器服务器开始采用该key进行加密通信。

后记

浏览器服务器之间建立连接后是采用对称加密进行通信,因为对称加密的效率强于非对称加密。
证书机构的存在是为了给通信双方做担保,确认证书的有效性。