https过程

 

 

1)客户端发起https请求,连接到服务端的443端口

2)服务端采用的https有一套数字证书,这个证书可以自己配置,也可以像证书管理组织申请,证书的本质是公钥(发给任何人)和私钥(腹服务端保留)

3)服务端将公钥传送证书传递给客户端,证书中包含了很多信息,比如证书的颁发机构,过期时间,网址,公钥等

4)客户端解析证书,由客户端的TLS完成,首先会验证公钥是否有效,比如颁发机构,过期时间等。如果有异常,就会弹出警告信息。(这个我们上网应该遇到过,一般都是提示说该网站的证书不可信任,是否继续啥的balabala,具体的记不清了)。证书没问题后会随机生成随机值(这个很重要,用于对称加密),然后使用第三步中的证书对这个随机值进行非对称加密

5)将证书非对称加密后的随机值传到服务器

6)服务器使用私钥对其进行非对称解密后,得到客户端的随机值,然后把内容通过该随机值进行对称加密

7)服务端将对称加密后的信息发给客户端

8)客户端用之前的生成的随机值来进行对称解密,获取内容明文

总结:在传输过程中,发起了两次请求,用到了对称加密和非对称加密

 

 

 

posted @ 2019-11-18 08:50  linux——quan  阅读(147)  评论(0编辑  收藏  举报