深入理解https进行SSL认证的全过程 - Go语言中文社区

深入理解https进行SSL认证的全过程


https进行SSL认证的全过程

事前准备

1、服务器生成一对公钥和私钥(不对称加密方式,此处的公钥简称<服公钥>,密钥简称<服密钥>)
2、服务器向CA机构进行通信,将<服公钥>交给CA机构
3、CA对<服公钥>进行数字签名,生成一个<数字签名>,将两者绑定在一起<公钥证书>
4、<公钥证书>返回并且存在服务器,保存

客户端通信过程

客户端建立通信的过程
1、客户端向服务器进行请求通信,服务器向客户端发送<公钥证书>
2、客户端使用<CA公钥>对公钥证书的数字签名进行验证,验证通过的场合,证明公钥值得信赖,公钥已经被CA机构认证

  • (CA公钥,CA机构公开在网络上的公钥, 为了防止被获得CA公钥在网络获得的过程中被中间人替换,一般实现存放在浏览器中)
  • (验证过程:客户端利用服务器传过来的信息验证服务器的合法性,服务器的合法性包括:证书是否过期,发行服务器证书的CA 是否可靠,发行者证书的公钥能否正确解开服务器证书的“发行者的数字签名”,服务器证书上的域名是否和服务器的实际域名相匹配。如果合法性验证没有通过,通讯将断开;如果合法性验证通过,将继续进行。)

3、通过<公钥证书>获得<服公钥>
4、客户端生成一个<共享密钥>,使用认证过的<服公钥>进行加密,将<共享密钥>发送到服务器
5、服务器通过<服私钥>解密,得到<共享密钥>
5、此时客户端和服务器都保存了同一个<共享密钥>,并且可以有效保证是安全的,以后的http传输的主体部分,通过<共享密钥>进行加密来确保通信过程的安全,报文没有没篡改。

总结:SSL认证建立在服务器与客户端的所有通信之前,SSL认证之后,http主体部分通过<共享密钥>加密。

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_40733949/article/details/93405054
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢