码迷,mamicode.com
首页 > Web开发 > 详细

HTTPS相关知识以及在golang中的应用

时间:2018-10-02 17:17:01      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:ack   color   技术   com   知识   安全   流程   系统   分享   

最近简单学习了HTTPS,并在golang中实践了一下,现在把学到的知识记录下来,方便以后查看,如果有幸能帮到有需要的人就更好了,如果有错误欢迎留言指出。

  • 一些简单的概念,可以自行百度百科
  1. HTTPS简介:HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。
  2. HTTPS与HTTP的区别:HTTP是以明文的方式来传递数据的,HTTPS是在HTTP的基础上加入了SSL协议的加密传输方式。
  3. CA(Certificate Authority):ca就是我们所说的证书颁发机构,ca是可信的权威机构,其实就是个办证的,给他钱,他给我们办证,当然了办的都是真证。ca机构也是有证书的,我们的电脑中自带了很多ca机构的证书,这些证书被称为“根证书”,根证书的作用就是检查别人的证是不是合法的。系统中的根证书如图:技术分享图片
  4. 服务端证书:在使用https时,服务端要载入服务端证书服务端私钥,这里涉及到一些非对称加密的知识(简单讲,非对称加密就是有两个钥匙,公钥和私钥,用公钥加密用私钥解密,这样会安全一些,比如说,客户端要向服务器传消息,可以给服务器一个请求,拿到服务器的公钥,用服务器的公钥把数据加密,加密后的数据传给服务器,服务器收到之后用服务器端的私钥解密,拿到数据,非对称开销大,不适合大数据量传输)可以自行搜索学习一下。服务端证书就是上面提到的办证(CA)的给你办的证,你得有这个证,人家才觉得你这人靠谱,证书中呢有一些信息,例如服务端公钥,谁给你办的证(CA的签名
  5. 服务端私钥:这就是解密一些客户端发到服务器来的前置数据所用的私钥。

客户端和服务器通信时二者需要的数据:

技术分享图片

 

客户端和服务器通信的流程:

技术分享图片

在golang中的使用:

 

HTTPS相关知识以及在golang中的应用

标签:ack   color   技术   com   知识   安全   流程   系统   分享   

原文地址:https://www.cnblogs.com/hsnblog/p/9736795.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!