SSL协议工作过程

SSL协议工作过程SSL握手协议:在SSL记录协议之上,会话层之下,在实际的数据传输开始前,协商加密算法、交换密钥、身份认证1.客户端浏览器发送“hello”信息,表示要和网站建立安全SSL连接2.网站服务器响应客户端请求,发给客户端两样东西:网站服务器自己的证书(内含网站的公钥)、一个随机值3.客户端浏览器验证网站服务器证书是否可信4.客户端利用网站服务器发的随机值生成会话密钥5.客户端…

大家好,又见面了,我是你们的朋友全栈君。

SSL协议位于TCP/IP协议与各应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层: SSL记录协议(SSL Record Protocol)、SSL握手协议(SSL Handshake Protocol)

SSL握手协议:在SSL记录协议之上,会话层之下,在实际的数据传输开始前,协商加密算法、交换密钥、身份认证

1. 客户端浏览器发送“hello”信息,表示要和网站建立安全SSL连接

2. 网站服务器响应客户端请求,发给客户端两样东西:网站服务器自己的证书(内含网站的公钥)、一个随机值

3.客户端浏览器验证网站服务器证书是否可信

4.客户端利用网站服务器发的随机值生成会话密钥

5. 客户端浏览器和网站服务器开始协商加密算法和密钥长度

6. 协商成功后,客户端浏览器利用网站的公钥将生成的会话密钥加密,然后传送给网站服务器

7. 网站服务器收到客户端发送的利用网站服务器自己公钥加密的会话密钥,然后用自己的私钥解密出会话密钥,由此得到了安全的会话密钥

8. 网站服务器再随机生成一个信息,用解密后的会话密钥加密该随机信息后后发送给客户端浏览器(目的是让客户端认证服务器)

9. 浏览器收到随机信息后,用会话密钥能解密出信息(自然就认证了服务器),接着浏览器用自己的私钥对此信息做数字签名,连带客户端自己的证书(内含公钥),一起发送给网站服务器(目的是让服务器认证客户端)

SSL记录协议:在SSL握手协议之下,传输层之上,数据传输阶段的封装、压缩、加密(利用SSL握手协议产生的会话密钥对称加密应用层数据)


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/137314.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 双边滤波算法_双边滤波的原理

    双边滤波算法_双边滤波的原理双边滤波算法

  • Modbus通讯协议详细解释

    Modbus通讯协议详细解释Modbus一个工业上常用的通讯协议、一种通讯约定。Modbus协议包括RTU、ASCII、TCP。其中MODBUS-RTU最常用,比较简单,在单片机上很容易实现。先来简单分析一条MODBUS-RTU报文,例如:0106000100179804010600010017

  • Idea导入jar包的两种方法

    Idea导入jar包的两种方法今天用IDEA,需要导入一个Jar包,因为以前都是用eclipse的,所以对这个idea还不怎么上手,连打个Jar包都是谷歌了一下。但是发现网上谷歌到的做法一般都是去File–>ProjectStructure中去设置,有没有如同eclipse一样简便的右键添加方法呢。然后自己摸索了一下,找到了。以阿里大于的依赖包为例子,因为正好是我遇到要导入的Jar包。先说下第一种方法吧。也就是Fi…

  • laravel之跨域请求(一)「建议收藏」

    laravel之跨域请求(一)「建议收藏」laravel之跨域请求(一)

  • T-SQL之DECLARE,SET,PRINT语句[通俗易懂]

    T-SQL之DECLARE,SET,PRINT语句[通俗易懂]1.DECLARE语句DECLARE语句是数据声明语句,主要作用是声明局部变量、函数、存储过程或游标变量等;基本语法格式:DECLARE{{@local_variable[AS]data_type}|[=value]}[,…n]@local_variable即变量的名称,一定要以@开头,data_type为变量的数据类型,value是声明的变量的值(可选)…

  • Kubernetes Pod Evicted[通俗易懂]

    Kubernetes Pod Evicted[通俗易懂]一、背景以及措施近日Kubernetes测试集群Pod状态出现Evicted现象,但是项目还是能正常提供服务,最先的解决办法是手动将Evicted状态的Pod删除。#查看Evicted状态的Pod[ops@dev-gate~]#kubectlgetpods-nstaging-services|grepEvictedeureka-server-02-7f658c4dfc-zwtqk0/1Evicted

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号