美文网首页
HTTPS协议传输过程

HTTPS协议传输过程

作者: lsh_01 | 来源:发表于2019-03-07 19:43 被阅读0次

握手流程

  1. 客户端发起https请求
    客户端告诉服务端支持哪些加密算法。

  2. 服务端响应

    • 选择合适的加密算法(比如:RSA、AES、MD5);
    • CA证书数字签名服务端公钥返回给浏览器。
  3. 客户端验证服务端数字签名,发送秘钥给服务端

    • 验证服务端返回的数字签名
    • 生成一个随机数 a,作为AES加密秘钥,使用服务端公钥a 加密,得到 b
    • 生成握手消息,以 a 为秘钥对其进行AES加密,得到 c
    • 计算握手消息的HASH值,得到 d
    • bcd 发送到服务端。
  4. 服务端确认加密秘钥

    • 使用服务端私钥解密 b ,得到 a
    • a 为秘钥对 c 进行AES解密,得到握手消息;
    • 计算握手消息的HASH,验证其与 d 是否一致;
    • 生成新的握手消息,以 a 为秘钥对其进行AES加密,得到 e
    • 计算新握手消息的HASH值,得到 f
    • ef 返回给浏览器。
  5. 握手过程完成,客户端发送加密数据给服务端

    • a 为秘钥对 e 进行AES解密,得到新握手消息;
    • 计算新握手消息的HASH,验证其与 f 是否一致;
    • 至此,握手过程结束。之后所有的通信数据将以 a 为秘钥进行AES加密后传输。

客户端验证服务端数字签名的流程

  1. 获取对应CA证书颁发机构的公钥
    根据数字签名信息,获取对应CA证书颁发机构的公钥。
    该公钥是被根证书颁发机构,使用其私钥加密过的。

  2. 解密并获得CA证书颁发机构的公钥
    使用本地根证书公钥,解密并获得CA证书颁发机构的公钥。
    本地根证书公钥是在用户安装操作系统时,由操作系统写入浏览器的。

  3. 解密数字签名,验证服务端公钥
    使用CA证书颁发机构的公钥,解密数字签名,得到服务端公钥的HASH。
    计算服务端公钥的HASH,验证二者是否相同。

相关文章

  • HTTPS协议传输过程

    握手流程 客户端发起https请求客户端告诉服务端支持哪些加密算法。 服务端响应选择合适的加密算法(比如:RSA、...

  • Https工作原理

    简介 HTTPS协议 = HTTP协议 + SSL/TLS协议,在HTTPS数据传输的过程中,需要用SSL/TLS...

  • 2020-03-18 HTTPS传输过程解析

    HTTPS协议=HTTP协议+SSL/TLS协议 在HTTPS传输数据过程中,分别用到了对称加密、非对称加密算法。...

  • 接口测试(三)

    常见协议 http 超文本传输协议https 安全超文本传输协议ftp 文件传输协议tcp 网络控制协议ip 互联...

  • HTTPS传输协议原理

    我们常常在使用网上银行时看到的连接都是以“https”开始的,那么这个https是什么呢?这其实是表示目前连接使用...

  • HTTPS传输协议原理

    HTTPS传输协议原理 我们常常在使用网上银行时看到的连接都是以“https”开始的,那么这个https是什么呢?...

  • https 初步了解

    1. https 简单介绍 概述 HTTP协议属于明文传输协议,交互过程以及数据传输都没有进行过加密,通信双方也没...

  • 网络请求

    常见的协议1:ftp://(文件传输协议)2:http://(超文本传输协议)3:https://(安全超文本传输...

  • 终于把HTTPS原理讲明白了

    关注公众号:(IT自学编程”)获取更多资料 HTTPS 1. HTTP http协议属于明文传输协议,交互过程以及...

  • 常见的接口协议

    1、HTTP 超文本传输协议 2、HTTPS 安全超文本传输协议 3、FTP 文件传输协议( Xshell的文件拖...

网友评论

      本文标题:HTTPS协议传输过程

      本文链接:https://www.haomeiwen.com/subject/kzphpqtx.html