抓包上传服务器信息,HTTPS交互:记录一次https抓包

为了验证apisix的多证书的支持可靠性,配置了一个域名sni,对应多个证书certs,并进行抓包分析。分析发现,配置的证书顺序变化,依然能够成功完成https请求。

HTTPS交互原理及流程图很经常可以搜到,但是,之前并没有对照着抓包分析,下面分析学习一下:

721c6574ff91bbbccc57519683e6819b.png

首先client和server会进行三次握手,之后是一个证书验证和密钥协商。

388b4345d126e988805c43d1907ee066.png

客户端发送Client Hello数据包,包含随机数,支持的加密套件,客户端支持的最高TLS版本号,主机名等。

91c6719276f8b8e13c2611cff430afee.png

服务器端发送Server Hello数据包,包含随机数,协商后加密套件及TLS版本号等。向客户端提供证书信息,包含证书有效期等。Server Key Exchange包含服务器的信息,包含公钥信息。

84bbb4a0f9d449d8e9352626a8087722.png

之后如果需要证书双向验证那么客户端需要将自身证书发送给服务器端。

客户端发送Client Key Exchange(生成公钥pubkey给服务器,服务器根据之前random_c,random_s,pubkey三个随机数生成对称加密的session Key),Change Cipher Spec(通知服务端,接下来的数据采用session Key对称加密的方式)以及Encrypted Handshake Message(客户端随后发送一个经过加密的数据,服务端可以根据生成的session Key来进行解密,这个加密的消息解密后有固定的格式,符合这个格式,或者满足一些字符匹配才是合法的)给服务器端。、

3e95be53c3e156527476ec4cdfd10515.png

服务端发送Change Cipher Spec通知客户端接下来的数据采用被sessionKey加密的对称加密方式,同时发送一个经过加密的消息,让客户端进行验证,验证通过后,Session建立,之后的数据通过协商的sessionKey进行交互。

a2df80e03213591ce294ef050a05d980.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值