求助,https加密的过程

参考了很多网上博客的加密流程,但都是有漏洞并且含糊不清的。最后整理得到这样的结论,但是还有一个问题,就是客户端生成的对称密钥和服务端生成的一对私钥和密钥的加密方式是怎么传给客户端的?在证书中除了公钥还包含了加密方式吗?

1)客户端发送自己支持的加密协议及版本,SSL、TLS

2)服务端从中筛选出合适的加密协议,生成一对公钥和私钥

3)向CA申请证书,携带公钥,服务器向CA购买了SSL证书,所以不会公钥泄露

4)CA返回证书

5)服务端将证书传给客户端

6)客户端根据浏览器内置的CA公钥进行验证,解的开就是真的,反之是假的,解开获得服务端公钥

7)客户端生成 对称密钥,通过服务端的公钥进行加密

8)服务器端使用私钥解密,获取对称密钥

9)开始通信


全部评论
服务器对所有用户都有一对公钥/私钥吧? 没必要每次都生成新的一对公钥和私钥。
点赞 回复 分享
发布于 2020-07-21 00:11
M,学习学习,
点赞 回复 分享
发布于 2020-07-20 22:37

相关推荐

05-12 11:09
已编辑
门头沟学院 后端
已注销:没必要放这么多专业技能的描述。这些应该是默认已会的,写这么多行感觉在凑内容。项目这块感觉再包装包装吧,换个名字,虽然大家的项目基本都是网上套壳的,但是你这也太明显了。放一个业务项目,再放一个技术项目。技术项目,例如中间件的一些扩展和尝试。
点赞 评论 收藏
分享
评论
2
9
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务