HTTPS具体流程

【前两天被同学问到了这个问题,结果自己答成了三握...炒鸡尴尬,所以特此学习记录一下】

三次握手是建立TCP可靠通信的~

HTTPS通信流程环节

HTTPS通信主要包括几个节点,发起请求、验证身份、协商秘钥、加密会话,具体流程如下(此例子只有客户端对服务端的单向验证):

  1、客户端向服务端发起建立HTTPS请求。

  2、服务器向客户端发送数字证书。

  3、客户端验证数字证书,证书验证通过后客户端生成会话密钥(双向验证则此处客户端也会向服务器发送证书)。

  4、服务器生成会话密钥(双向验证此处服务端也会对客户端的证书验证)。

  5、客户端与服务端开始进行加密会话。

具体的步骤如下:

第一步:客户端向服务端发起请求

        1、客户端生成随机数R1 发送给服务端;

        2、告诉服务端自己支持哪些加密算法;

第二步:服务器向客户端发送数字证书

        1、服务端生成随机数R2;

        2、客户端支持的加密算法中选择一种双方都支持的加密算法(此算法用于后面的会话密钥生成)

        3、服务端生成把证书、随机数R2、会话密钥生成算法,一同发给客户端;

第三步:客户端验证数字证书。

        1、验证证书的可靠性,先用CA的公钥解密被加密过后的证书,能解密则说明证书没有问题,然后通过证书里提供的摘要算法进行对数据进行摘要,然后通过自己生成的摘要与服务端发送的摘要比对。

        2、验证证书合法性,包括证书是否吊销、是否到期、域名是否匹配,通过后则进行后面的流

  • 20
    点赞
  • 83
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值