分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

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

发布时间:2023-09-06 02:16责任编辑:赖小花关键词:暂无标签

最近简单学习了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中的应用

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

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved