概述
为了验证apisix的多证书的支持可靠性,配置了一个域名sni,对应多个证书certs,并进行抓包分析。分析发现,配置的证书顺序变化,依然能够成功完成https请求。
HTTPS交互原理及流程图很经常可以搜到,但是,之前并没有对照着抓包分析,下面分析学习一下:
首先client和server会进行三次握手,之后是一个证书验证和密钥协商。
客户端发送Client Hello数据包,包含随机数,支持的加密套件,客户端支持的最高TLS版本号,主机名等。
服务器端发送Server Hello数据包,包含随机数,协商后加密套件及TLS版本号等。向客户端提供证书信息,包含证书有效期等。Server Key Exchange包含服务器的信息,包含公钥信息。
之后如果需要证书双向验证那么客户端需要将自身证书发送给服务器端。
客户端发送Client Key Exchange(生成公钥pubkey给服务器,服务器根据之前random_c,random_s,pubkey三个随机数生成对称加密的session Key),Change Cipher Spec(通知服务端,接下来的数据采用session Key对称加密的方式)以及Encrypted Handshake Message(客户端随后发送一个经过加密的数据,服务端可以根据生成的session Key来进行解密,这个加密的消息解密后有固定的格式,符合这个格式,或者满足一些字符匹配才是合法的)给服务器端。、
服务端发送Change Cipher Spec通知客户端接下来的数据采用被sessionKey加密的对称加密方式,同时发送一个经过加密的消息,让客户端进行验证,验证通过后,Session建立,之后的数据通过协商的sessionKey进行交互。
最后
以上就是安静衬衫为你收集整理的抓包上传服务器信息,HTTPS交互:记录一次https抓包的全部内容,希望文章能够帮你解决抓包上传服务器信息,HTTPS交互:记录一次https抓包所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复