史上最好懂的HTTPS讲解

Posted warmor

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了史上最好懂的HTTPS讲解相关的知识,希望对你有一定的参考价值。

  众所周知,http是用明文传输的,这样效率更高,但是却不安全,https的出现主要是为了解决http传输过程的安全问题,为此它使用了两种加密方式:对称加密和非对称加密。对称加密就是客户端和服务器使用相同的秘钥进行加解密,而非对称加密就是两边使用不同的秘钥(私钥,公钥)进行加解密。
  https的流程大概是这样的:
1.网站的管理员把网站的公钥,域名,有效时长等信息发给CA机构(用以数字签名)
2.CA机构用自己的私钥进行加密,并把生成的加密的数字证书发给网站管理员
3.网站管理员把数字证书配置到网站,当有用户(通过浏览器)访问时,把数字证书返回
4.浏览器用CA机构的公钥解密数字证书,就得到了网站的公钥
5.浏览器随机生成一个秘钥,然后用网站的公钥加密发送到网站
6.网站用自己的私钥解密,获得用户发来的秘钥,然后就可以通过该秘钥跟用户进行通信了(此时数据就是对称加密了,效率比较高)
有几点需要说明:
1.全球的CA机构就只有有限的几家,我们使用的操作系统都会内置所有CA机构的公钥,所以在第4步,是用遍历公钥的方式进行解密的。
2.如果某个网站使用了非法的CA机构签名数字证书,那么我们访问时,浏览器就会报出“您的连接不是私密连接”。
3.如果知道某个网站是使用某家CA机构的证书,那么去那家CA机构申请一个证书,然后用户访问时,通过中间路由修改成自己的证书可行吗?答案是不行,虽然用户可以解密该证书,但是解密后发现域名跟自己的所要访问的域名不同,浏览器还是会报错。
  本文的内容是通过看郭霖大神的博客,然后自己总结的,详细内容见:写一篇最好懂的HTTPS讲解

以上是关于史上最好懂的HTTPS讲解的主要内容,如果未能解决你的问题,请参考以下文章

史上最详细的 Apereo CAS 5.3开发教程:二Apereo CAS 5.3 Server环境搭建,登录名,密码从数据库中获取

史上最详细webpack讲解

史上最详细Java内存区域讲解

史上最详细的conda常用命令讲解,收藏这一篇就够了

史上最详细的Python爬虫库urllib讲解:绝对经典,值得收藏

让你秒懂的Lambda表达式超级详细讲解