本文主要是介绍https的通信过程,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
https通信是建立在ssl连接层之上的请求和响应,客户端将加密组件发送到服务端,服务端进行匹配后将数字证书等信息发送到客户端,客户端进行证书验证,验证通过后使用非对称加密对数据的密钥进行协商,协商后得到对称的加密密钥,然后使用对称算法进行 TCP 链接,然后与客户端进行三次握手后,进行数据传输,传输完成后,四次挥手,断开链接,通信结束。
HTTPS 进行通信过程:
- 客户端和服务端通过 TCP 建立连接,并发送 https 请求。
- 服务端响应请求,并将数字证书发送给客户端,数字证书包括公共秘钥、域名、申请证书的公司。
- 客户端收到服务端的数字证书之后,会验证数字证书的合法性。
- 如果公钥合格,那么客户端会生成 clientkey,一个用于进行对称加密的密钥,并用服务端的公钥对客户端密钥进行非对称加密。
- 客户端会再次发起请求,将加密之后的客户端密钥发送给服务端。
- 服务端接收密文后,会用私钥对其进行非对称解密,得到客户端秘钥。并使用客户端秘钥进行对称加密,生成密文并发送。
- 客户端收到密文,并使用客户端秘钥进行解密,获取数据。
这篇关于https的通信过程的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!