HTTPS协议学习总结
二:客户端与服务端如何建立HTTPS协议连接?
三:证书、加密协议、信息摘要、签名算法概念解释与关系梳理
四:低版本操作系统作为客户端发送HTTPS失败分析
五:参考资料
HTTPS协议有两部分组成:HTTP + SSL / TLS,一般来说,SSL主要完成两件事:身份认证和数据加密 ,身份认证保证客户端请求服务端是真实可信的,数据加密保证数据传递的安全性,SSL协议在TCP协议和HTTP协议之间(HTTP->SSL->TCP->IP),第一次身份认证采用非对称加密,后续握手环节采用对称加密机制(节省性能开支)。
1:Server部署HTTPS(通过WEB服务器导入证书),这份证书包含了一对公钥和私钥,Client请求 Server,Server响应给Client证书信息;
2:Client的TLS验证证书信息(颁发机构、有效期、公钥有效性),验证失败做安全提示,验证成功 则生成一个随机值,然后用证书对随机值加密,传给Server(随机值用于后续连接的加解密凭证);
3:Server用私钥解密得到随机值,然后把需要传递的数据通过该值做对称加密,后续的数据交换采 用同样方式处理;
3:SHA/SHA2
RSA256:
客户端证书和TLS协议在WEB服务器配置,客户端证书也可以用程序自定义生成和使用,信息摘算法在操作系统的组件中(WIN系统:Win32 crypto service CryptSignHash 函数)。
国际惯例是2016年1月1日起停止签发SHA1签名算法的各种证书,低版本操作系统(XP2003 SP2内、 Server2003 SP2内)不支持SHA256信息摘要算法,客户端请求服务端(使用SHA2)就会超时错误,解决方案是给客户端系统打补丁(KB968730或KB938397或SP3补丁);
HTTPS协议学习总结的更多相关文章
- HTTPS协议学习笔记
在前一段时间准备面试的时候,面试官反复提到了HTTPS这个协议.我只是单纯的知道,HTTPS是安全的应用层协议 是HTTP更安全的版本,通过对称密钥加密.但是具体的其他的,可能我不太了解.今天就专门抽 ...
- HTTPS协议学习
http的缺点:(其他一些未加密的协议中也存在) 通信使用明文(不加密),内容可能会被窃听 不验证通信方的身份,因此有可能遭遇伪装 无法证明报文的完整性,所以有可能已遭篡改 TCP/IP是可能被窃听的 ...
- 网络协议学习笔记(六)http和https
概述 之前讲解了传输层的相关知识,现在讲解一下关于应用层的知识,主要是大家所熟悉的http和https,这2中是咱们最熟悉的协议了,但是也是最不熟悉的协议. HTTP协议:看个新闻原来这么麻烦 HTT ...
- https、ssl、tls协议学习
一.知识准备 1.ssl协议:通过认证.数字签名确保完整性:使用加密确保私密性:确保客户端和服务器之间的通讯安全 2.tls协议:在SSL的基础上新增了诸多的功能,它们之间协议工作方式一样 3.htt ...
- 深入理解http/https协议
深入理解HTTP协议(转) http协议学习系列 1. 基础概念篇 1.1 介绍 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写.它的发展是万维网协会(Wo ...
- HTTP协议学习
面试过程中又一个常见的问题,http协议,因为做服务器开发如果用http协议的话,现在各种开源软件都封装好了,python中只需要简单的继承定义好的类,重写get或者post等方法,几行代码就可以搭建 ...
- http协议学习系列
深入理解HTTP协议(转) http://www.blogjava.net/zjusuyong/articles/304788.html http协议学习系列 1. 基础概念篇 1.1 介绍 H ...
- HTTPS的学习
HTTPS的学习总结 HTTPS学习总结 简述 HTTPS对比HTTP就多了一个安全层SSL/TLS,具体就是验证服务端的证书和对内容进行加密. 先来看看HTTP和HTTPS的区别 我用AFN访问 ...
- 关于HTTP协议学习(三)
一,目录结构 HTTPS HTTP/2 HTTP 安全 HTTP 面试 HTTP 爬虫 HTTP 资源 HTTP 抓包工具及教程 Chrome HTTP 插件 HTTP 代理服务器 HTTP 图书 二 ...
随机推荐
- python def说明
可以这样讲,def定义了一个模块的变量,或者说是类的变量.它本身是一个函数对象.属于对象的函数,就是对象的属性.当然,你也可以叫它“方法”. python 的函数和其他语言的函数有很大区别.它是可以被 ...
- leetcode@ [174] Dungeon Game (Dynamic Programming)
https://leetcode.com/problems/dungeon-game/ The demons had captured the princess (P) and imprisoned ...
- delphi 完全控制Excel 文件
( 一 ) 使用动态创建的方法 uses ComObj; 首先创建 Excel 对象Var ExcelApp : Variant ; ExcelApp := CreateOleObject ( ...
- android 随手记 videoview循环播放网络视频 和mediaplayer+sufaceview播放网络视频
1:videoview循环播放视频 1>xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res ...
- C++学习笔记(九):作用域和命名空间
作用域 作用域规则告诉我们一个变量的有效范围,它在哪儿创建,在哪儿销毁(也就是说超出了作用域).变量的有效作用域从它的定义点开始,到和定义变量之前最邻近的开括号配对的第一个闭括号.也就是说,作用域由变 ...
- power designer 水电费缴纳系统的设计
alter table POWER drop constraint FK_POWER_REFERENCE_USERS; drop table POWER cascade constraints; /* ...
- Nape的回调系统 nape.callbacks
在Nape中增加一个回调大致分为三步 1:定义一些标签,并根据需求为不同的Interactor打上不同的标签 2:定义一个监听器,这个监听器定义了哪些标签触发了哪种行为之后做何种回调 3:为Space ...
- go操作数据库 Go-SQL-Driver/MySQL 使用详解
go操作mysql的驱动包很多,这里讲解当下比较流行的Go-SQL-Driver/MySQL1.下载安装 执行下面两个命令: 下载:go get github.com/Go-SQL-Driver/My ...
- BZOJ 1151 傲娇的人 排序
傲娇的人 Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/problem/show/1151 Descrip ...
- ios项目开发(天气预报项目):通过经纬度获取当前城市名称
1 . 在项目里加入� CoreLocation.framework 2 .在 .h 文件输入例如以下: 1.#import <CoreLocation/CLLocation.h> ...