• https原理


    http协议是明文传送,会导致容易被窃听、篡改和冒充。

    加密解密基础:对称加密一般包含公钥和私钥两部分,外部访问通过公钥加密,服务器端通过私钥解密。

    https通讯协议:

    https通讯协议包括http协议和SSL/TSL协议。

    1. 浏览器发起服务器443端口请求,请求携带了浏览器支持的加密算法和哈希算法。
    2. 服务器收到请求,选择浏览器支持的加密算法和哈希算法。
    3. 服务器将数字证书返回给浏览器(证书是向第三方机构申请的浏览器信任的,也可以自己颁发,需要浏览器手动信任)
    4. 浏览器开始数字证书认证环节,通过浏览器内置TLS完成的:
    5. 浏览器首先从内置的证书列表中索引,找到服务器下发证书对应的机构,如果没有,会提示非权威机构颁发。如果找到了机构,则取出对应机构的公钥。
    6. 用机构的证书公钥解密得到证书的内容和证书的签名(网站的网址、网站的公钥、证书的有效期。PS:这些内容自己手动颁发的时候会去设置,可以自行体验下)。根据证书内容校验签名的合法性(网址、有效期等)。
    7. 浏览器生成一个密钥N,并使用公钥对密钥N进行加密。
    8. 浏览器将加密的密钥N传给服务器。
    9. 服务器用自己的私钥解密得到密钥N。
    10. 服务器以N为密钥,使用对称加密算法加密网页内容并传输给浏览器。
    11. 浏览器以N为密钥,使用之前约定的解密算法获取内容。

    前5步是协议握手的过程,校验证书的合法性。非对称加密计算量较大,只有校验证书的时候使用,其他时候使用的是对称加密。

  • 相关阅读:
    使用awrrpt.sql 生成AWR报告
    oracle简单物化视图
    oracle 查询重复内容
    windows server 2008 服务器 oracle11g降级oracle10g遇到的种种问题
    简单js条码生成器
    tomcat服务器禁用非post、get方法的坑
    委托和事件
    消息队列(Message Queue)简介及其使用
    架构师修炼之道
    Xcode7 使用NSurl发送HTTP请求报错
  • 原文地址:https://www.cnblogs.com/avalon-merlin/p/10522709.html
Copyright © 2020-2023  润新知