• https申请证书并部署到网站流程,浏览器验证证书流程


    https申请证书并部署到网站流程:

    1、生成一对秘钥,设公钥为pubk1,私钥为prik1
    2、假设发布的网站地址为https://www.example.com
    3、生成一个CSR文件(Cerificate Signing Request),该文件内容包括: pubk1,网站地址,以及营业执照等信息,然后将该文件发给CA机构
    4、CA机构收到CSR文件后,进行审核,主要检查网站地址的拥有者是否是证书的申请者
    5、审核通过后,CA机构生成一对秘钥,假设采用ECDSA签名算法,公钥为pubk2,私钥为prik2。用prik2对CSR文件进行签名得到签名值sigVal,将sigVal附在CSR文件后面形成证书文件caFile,caFile中还要添加CA机构的信息,如: 签名算法,CA机构名称等
    6、将证书文件caFile放到网站服务器对应目录下

    ====================

    ====================

    浏览器验证证书流程:

    1、浏览器向服务器发请求https://www.example.com
    2、服务器将caFile和pubkey1(实际上就是申请证书流程中生成的一对秘钥中的公钥pubk1)发给浏览器
    3、浏览器收到caFile文件进行分析,知道了签名算法;拿到CA机构名称后,由于浏览器中内置了该CA机构的根证书,所以知道pubk2;还知道caFile文件中的签名值sigVal以及原文(caFile的一部分,这部分在申请证书流程中称为CSR文件)知道这四个条件,就可以验证签名了,若验证签名成功则进入第4步。
    4、接下来浏览器校验证书申请者的身份,从caFile中取出pubk1和网站地址w1。如果w1和https://www.example.com一摸一样,而且pubk1与连接成功后服务器发下来的公钥pubkey1相等,则说明浏览器连接的https://www.example.com没问题,而且没有受到中间人攻击
    5、一旦服务器校验成功,接下来就是进行秘钥协商,这个协商成功后的秘钥就是真正用来加密业务数据的秘钥

  • 相关阅读:
    RabbitMQ知识点整理2-相关概念介绍
    RabbitMQ知识点整理1-生产和消费消息
    Java自学-图形界面 Swing中的线程
    Java自学-图形界面 日期控件
    Java自学-图形界面 表格
    Java自学-图形界面 工具栏
    WebStorm 2020.2.3 破解(Mac,windows,Linux)
    消息队列的使用场景
    有关建立虚拟环境的总结
    性能测试-Locust分布式执行
  • 原文地址:https://www.cnblogs.com/zdz8207/p/https-public-key-pem-crt.html
Copyright © 2020-2023  润新知