1. 客户端发起https请求,请求数据中包括当前浏览器的加密算法列表,随机数(random1)
2. 服务端回复客户端,数据包括 证书,确认的加密算法,随机数(random2)
3. 客户端验证证书的合法性
4. 客户端生成加密随机数(premaster_secret),使用第2步约定的生成秘钥算法(非对称加密算法),通过证书的公钥,对premaster_secret进行加密,传输给服务端
5. 服务端使用私钥解密,得到premaster_secret
6. 客户端使用 random1+ premaster_secret + random2 生成秘钥secret,使用第2步约定的传输数据算法(对称加密算法)和secret对数据加密,采用http传输
7. 服务端使用 random1+ premaster_secret + random2 生成秘钥secret,同样使用约定的对称加密算法,与客户端进行http通信。
两点说明:
1. 非对称加密算法,需要一个公钥和一个私钥,私钥在服务端,不会通过网络传输,无法被破解,但加密解密效率低;对称加密算法,采用相同的秘钥加密和解密,效率高,但是秘钥需要双方明文传输。所以真正的https是通过非对称加密,对最终的密钥加密传输,之后双方都采用密钥进行对称加密解密
2. 最终的秘钥在第6步时使用了3个随机数生成,原因是更大限度保证最终秘钥的随机性
相关推荐
### C# HTTPS交互与证书处理 #### 一、HTTPS简介 HTTPS (Hypertext Transfer Protocol Secure) 是一种用于安全通信的协议,它基于 HTTP 协议并通过 SSL/TLS 加密来保护数据传输的安全性。在实际应用中,HTTPS 通常...
**三、数据交互过程** 1. **请求发起**:前端根据用户操作或者定时任务,向后端发送数据请求,请求可能包含查询条件、筛选参数等。 2. **请求处理**:后端接收到请求后,解析请求参数,访问数据库进行数据查询或计算...
这个过程涉及了网络层的数据包路由、传输层的连接管理和应用层的协议交互。 三、IP地址与域名系统 每个设备连接到Internet都需要一个唯一的IP地址,这是一串数字形式的标识。为了便于记忆,引入了域名系统,将复杂...
交互开发文档是软件开发过程中不可或缺的一部分,特别是在当今的敏捷开发环境中,它对于团队协作和产品迭代至关重要。"交互宽带费demom"可能是指一个演示应用,该应用专注于处理宽带费用的交互功能,可能是为了测试...
"PC端_MP店铺装修前后台交互文档20161013_V4.0.zip" 文件集合提供了一份详尽的指南,帮助开发者理解和实现这种交互过程。这份文档,结合了“交互”标签,旨在揭示PC端店铺装修的后台逻辑和前端展示的互动细节,以...
通过分析这些代码,可以更深入地理解Android与服务器的交互过程以及数据库操作的细节。 总之,安卓应用与数据库交互涉及客户端的网络请求、服务器的HTTP处理和数据库操作,以及数据在两者之间的传输和解析。理解并...
在软件开发领域,远程数据交互是指程序与远程服务器之间的数据交换过程。这通常涉及到网络请求、响应处理以及数据编码解码等技术。远程数据交互在现代应用中极为常见,无论是移动应用还是Web应用,都需要通过这种...
通过HTTPS协议可以加密数据传输,防止数据在传输过程中被窃取。同时,使用预编译的SQL语句可以避免SQL注入攻击。 通过理解以上知识点,开发者可以利用易语言和ASP实现一个完整的网络应用,包括用户登录、数据浏览、...
前后端交互主要通过HTTP/HTTPS协议进行。当用户在前端填写登录或注册信息并提交后,这些数据以JSON格式通过Ajax异步发送到服务器。后端接收到请求后,SpringMVC会根据URL映射找到相应的Controller方法,执行业务逻辑...
LabVIEW提供了Web Service Toolkit(Web服务工具包),它允许开发者通过HTTP、HTTPS等协议与网页服务器进行通信,执行HTTP请求,如GET和POST,以获取或发送网页数据。这个工具包可以用于抓取网页内容,解析HTML,...
该压缩包文件“图片下载交互动画演示ppt模板.rar”主要包含了用于展示图片下载过程的交互式动画模板,适用于教学、演示或者设计相关的项目。在实际应用中,这样的模板可以帮助用户直观地理解图片的下载流程,提升...
人机交互(Human-Computer Interaction,简称HCI)是一门跨学科的领域,涉及心理学、计算机科学、设计学等多个方面,旨在理解和优化人与计算机系统的交互过程。 在本次课程设计中,"网上购物商城"作为一个项目主题...
iex (new-object net.webclient).downloadstring('https://get.scoop.sh') ``` 如果出现关于修改执行策略的提示,请按照提示操作完成安装过程。接下来,通过Scoop安装Gradle只需执行以下命令: ```powershell ...
在安卓与后台交互的过程中,通常会使用JSON格式作为数据交换的载体,因为它轻量且易于解析。安卓端会将数据序列化成JSON字符串,通过HTTP请求发送给服务器,服务器接收到后进行反序列化,处理数据并返回相应的JSON...
在鸿蒙系统(HarmonyOS)的开发过程中,Webview组件扮演着重要的角色,它使得开发者可以将网页内容嵌入到原生应用中,提供丰富的交互体验。本教程将深入探讨如何在鸿蒙系统中使用Webview以及实现与JavaScript的交互...
首先,**图片上传**是用户向服务器发送图片的过程。这通常涉及到前端(如HTML5的`<input type="file">`标签)和后端(如PHP、Python或Node.js)的交互。前端需要处理用户选择的文件,而后端则接收文件,进行验证(如...
1. 安全性:确保数据在传输过程中加密,例如使用HTTPS协议。同时,可以通过验证令牌或OAuth等方式保护敏感数据。 2. 优化:减少不必要的网络通信,通过缓存和分页提高性能。同时,可以使用异步请求来改善用户体验。 ...
在这个“简单的HTTP POST与服务器交互程序”中,我们将探讨如何实现这样的交互过程。 首先,理解HTTP POST的基本概念至关重要。HTTP(超文本传输协议)是互联网上应用最为广泛的一种网络协议,而POST是HTTP协议中的...
**调试和测试WCF服务**也是开发过程中重要的一部分。VS2008提供了内置的WCF测试客户端,可以方便地调用服务操作并查看响应。 总结起来,本项目通过.NET 3.5中的WCF展示了如何创建一个能够进行消息交互的服务。它...
具体交互过程如下: 1. 客户端(App)使用HttpClient或者更现代的Retrofit、OkHttp等库,构造一个HTTP GET请求,携带必要的参数,如URL、请求头等。 2. 请求发送到服务器端,Java Web应用接收到请求后,根据URL和...