目录
一:什么是HTTPS协议?
二:客户端与服务端如何建立HTTPS协议连接?
三:证书、加密协议、信息摘要、签名算法概念解释与关系梳理
四:低版本操作系统作为客户端发送HTTPS失败分析
五:参考资料
 
 
一:什么是HTTPS协议?
HTTPS协议有两部分组成:HTTP + SSL / TLS,一般来说,SSL主要完成两件事:身份认证和数据加密 ,身份认证保证客户端请求服务端是真实可信的,数据加密保证数据传递的安全性,SSL协议在TCP协议和HTTP协议之间(HTTP->SSL->TCP->IP),第一次身份认证采用非对称加密,后续握手环节采用对称加密机制(节省性能开支)。
 
二:客户端与服务端如何建立HTTPS协议连接?
1:Server部署HTTPS(通过WEB服务器导入证书),这份证书包含了一对公钥和私钥,Client请求 Server,Server响应给Client证书信息;
2:Client的TLS验证证书信息(颁发机构、有效期、公钥有效性),验证失败做安全提示,验证成功 则生成一个随机值,然后用证书对随机值加密,传给Server(随机值用于后续连接的加解密凭证);
3:Server用私钥解密得到随机值,然后把需要传递的数据通过该值做对称加密,后续的数据交换采 用同样方式处理;
 
三次握手相当于混合试用了非对称加密(生成签名密钥)和对称加密,再保证数据一致性和安全性的前提下减少性能开支。

三:证书、加密协议、信息摘要、签名算法概念解释与关系梳理
1:数字证书
CA证书颁发机构颁发的用于签名验证的文件,主要用于客户端和服务端建立HTTPS连接的身 份认证过程,证书中包含了颁发机构、合法域名来源、有效期,如果该证书不是CA授信机构颁发的,客户端会有安全提醒弹窗,证书本质上是服务端给客户端提供了公钥,客户端用来生成随机串传给服务端 ;
2:SSL/TSL协议
Netscape公司设计的主要用于WEB安全传输协议,提供身份认证和数据加密的规则,TSL1.0是建立在SSLV3版本的新协议,;

3:SHA/SHA2

信息摘要算法,用于签名验证(对称加密)保证数据一致性;
RSA256:
数据加密算法(非对称加密),用于保护数据安全;

4:关系梳理
客户端证书和TLS协议在WEB服务器配置,客户端证书也可以用程序自定义生成和使用,信息摘算法在操作系统的组件中(WIN系统:Win32 crypto service CryptSignHash 函数)。
 
四:低版本操作系统作为客户端发送HTTPS失败分析:
国际惯例是2016年1月1日起停止签发SHA1签名算法的各种证书,低版本操作系统(XP2003 SP2内、 Server2003 SP2内)不支持SHA256信息摘要算法,客户端请求服务端(使用SHA2)就会超时错误,解决方案是给客户端系统打补丁(KB968730或KB938397或SP3补丁);
 
五:参考资料

 
 HTTPS连接的前几毫秒发生了什么(http://blog.jobbole.com/48369)

HTTPS协议学习总结的更多相关文章

  1. HTTPS协议学习笔记

    在前一段时间准备面试的时候,面试官反复提到了HTTPS这个协议.我只是单纯的知道,HTTPS是安全的应用层协议 是HTTP更安全的版本,通过对称密钥加密.但是具体的其他的,可能我不太了解.今天就专门抽 ...

  2. HTTPS协议学习

    http的缺点:(其他一些未加密的协议中也存在) 通信使用明文(不加密),内容可能会被窃听 不验证通信方的身份,因此有可能遭遇伪装 无法证明报文的完整性,所以有可能已遭篡改 TCP/IP是可能被窃听的 ...

  3. 网络协议学习笔记(六)http和https

    概述 之前讲解了传输层的相关知识,现在讲解一下关于应用层的知识,主要是大家所熟悉的http和https,这2中是咱们最熟悉的协议了,但是也是最不熟悉的协议. HTTP协议:看个新闻原来这么麻烦 HTT ...

  4. https、ssl、tls协议学习

    一.知识准备 1.ssl协议:通过认证.数字签名确保完整性:使用加密确保私密性:确保客户端和服务器之间的通讯安全 2.tls协议:在SSL的基础上新增了诸多的功能,它们之间协议工作方式一样 3.htt ...

  5. 深入理解http/https协议

    深入理解HTTP协议(转) http协议学习系列 1. 基础概念篇 1.1 介绍 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写.它的发展是万维网协会(Wo ...

  6. HTTP协议学习

    面试过程中又一个常见的问题,http协议,因为做服务器开发如果用http协议的话,现在各种开源软件都封装好了,python中只需要简单的继承定义好的类,重写get或者post等方法,几行代码就可以搭建 ...

  7. http协议学习系列

    深入理解HTTP协议(转)  http://www.blogjava.net/zjusuyong/articles/304788.html http协议学习系列   1. 基础概念篇 1.1 介绍 H ...

  8. HTTPS的学习

    HTTPS的学习总结   HTTPS学习总结 简述 HTTPS对比HTTP就多了一个安全层SSL/TLS,具体就是验证服务端的证书和对内容进行加密. 先来看看HTTP和HTTPS的区别 我用AFN访问 ...

  9. 关于HTTP协议学习(三)

    一,目录结构 HTTPS HTTP/2 HTTP 安全 HTTP 面试 HTTP 爬虫 HTTP 资源 HTTP 抓包工具及教程 Chrome HTTP 插件 HTTP 代理服务器 HTTP 图书 二 ...

随机推荐

  1. C++空类以及没有成员变量的类的大小

    关于C++中空类的大小为1,我们大家都有所了解,但是除了空类之外的其他一些没有成员变量的类的大小,还是有很多不明之处的. 我们来看如下一个例子: #include<iostream> us ...

  2. jexus asp.net Linux Web Server

    Jexus简介 Jexus web server for linux 是运行在Linux上的Web服务器.其安装和部署及其简单,直接支持Asp.net . 下载Jexus wget http://li ...

  3. Android反编译基础(apktoos)--广工图书馆APK

    更多精彩内容 :http://www.chenchuangfeng.com QQ:375061590 ------------------------------------------------- ...

  4. hdoj 1863 畅通工程

    并查集+最小生成树 畅通工程 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

  5. Oracle Data Guard PING[ARC2]: Heartbeat failed to connect to standby ''. Error is 12514 故障分析

    朋友搭建的一套DG,折腾了很长时间,一直都是报如下错误: ORA-12514: TNS:listener does not currentlyknow of service requested in ...

  6. OpenCV训练分类器制作xml文档

    OpenCV训练分类器制作xml文档 (2011-08-25 15:50:06) 转载▼ 标签: 杂谈 分类: 学习 我的问题:有了opencv自带的那些xml人脸检测文档,我们就可以用cvLoad( ...

  7. 使用 jsPlumb 绘制拓扑图 —— 异步载入与绘制的实现

    本文实现的方法能够边异步载入数据边绘制拓扑图. 有若干点须要说明一下: 1.  一次性获取全部数据并绘制拓扑图. 请參见文章: <使用 JsPlumb 绘制拓扑图的通用方法> ; 本文实现 ...

  8. MYSQL BLOB 字段大小以及个数的限制測试。

    測试结论 mysql版本号 5.1     表类型: innodb, row_format=compact (这是默认的行格式)     插入超过10个blob, blob的数据量非常小(<76 ...

  9. Sql Server问题集锦

    Sql数据库默认实例和命名实例的区别: 1.服务中服务名称的区别: 默认实例:MSSQLSERVER; 命名实例:实列名为:benet,在服务中的名称是:MSSQL$BENET;   注:如果你有多个 ...

  10. AdventureWorks Databases 2008 下载地址

    AdventureWorks Databases 2008 下载地址: RECOMMENDED DOWNLOAD  AdventureWorks2012_Database.zip example, 3 ...