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、一旦服务器校验成功,接下来就是进行秘钥协商,这个协商成功后的秘钥就是真正用来加密业务数据的秘钥

 

posted @ 2019-07-19 16:24  大自然的流风  阅读(3940)  评论(0编辑  收藏  举报