求助,https加密的过程
参考了很多网上博客的加密流程,但都是有漏洞并且含糊不清的。最后整理得到这样的结论,但是还有一个问题,就是客户端生成的对称密钥和服务端生成的一对私钥和密钥的加密方式是怎么传给客户端的?在证书中除了公钥还包含了加密方式吗?
1)客户端发送自己支持的加密协议及版本,SSL、TLS
2)服务端从中筛选出合适的加密协议,生成一对公钥和私钥
3)向CA申请证书,携带公钥,服务器向CA购买了SSL证书,所以不会公钥泄露
4)CA返回证书
5)服务端将证书传给客户端
6)客户端根据浏览器内置的CA公钥进行验证,解的开就是真的,反之是假的,解开获得服务端公钥
7)客户端生成 对称密钥,通过服务端的公钥进行加密
8)服务器端使用私钥解密,获取对称密钥
9)开始通信