https问答篇
https问答
SSL和TLS有什么区别?
可以说,TLS是SSL的升级版本,SSL是网景公司设计的,为了最早期的网络安全而生,它的全名叫做“安全套接层”。后来,IETF在1999年把SSL标准化,名称改名为TLS,“传输层安全协议”。所以说,这两个东西就是同一个东西的不同阶段。
具体可以参考TLS与SSL的区别
客户端和服务端交互
首先从粗力度来看,客户端先是通过“STL握手”过程,获取服务端的证书,并验证证书的合法性。在这个握手过程中,会产生三个随机串。后续的数据交互使用这三个随机串进行对称加密传输的数据。
STL具体的握手协议可以参考这篇(HTTPS协议说明)[http://www.cnblogs.com/yjf512/p/5216045.html]
好了,这个是一个session的交互,如果session结束了,另外开启一个session,客户端和服务端还是要重新进行握手协议,获取一遍服务端证书和随机串的,如果想要重新使用上次的随机串的话,需要服务端实现SSL session 重用(SSL session resumption)。
SSL的session重用有两种机制,一种是session id的方式,一种是session ticket的方式。
session id的方式简单来说,其实和session id通过cookie进行传递很像,这种方式的session id是在握手的第二个环节,服务端返回给客户端一个session。客户端保存住这个session id, 下次session开启的时候,客户端在握手的第一个请求的时候,直接把session id传递给服务端,服务端直接返回连接建立成功。
session id的方式是需要服务端根据session id存储session信息。而session ticket方式则是使用把TLS交互过程中使用的数据加密成为“Session ticket”, 客户端存储这个session ticket, 在下次session开启的时候直接传递这个ticket给服务端,从而来绕开完整的握手协议。
客户端如何验证证书的合法性
客户端的证书是从服务端获取的,客户端要验证证书的:
1 证书是否在有效期内
这个只需要查看证书里面的起始日期和结束日期,看当前的时间点是否在有效期内就行了。
2 证书是否被吊销了
这个验证有两种方式:
a CRL: 定期从CA上获取证书吊销列表。
b OCSP: 直接发起请求去CA上对某个证书进行查询。
3 证书是否是上级CA签发的
一致追述到根证书,就是CA的证书,CA是自己颁发给自己,一般浏览器会保留下CA的证书,所以这个过程一般不需要去CA服务器上进行验证。
参考文章
浏览器如何验证HTTPS证书的合法性?
SSL session resumption原理
Speeding up SSL: enabling session reuse
https问答篇的更多相关文章
- 15分钟理解HTTPS——通俗篇
| 导语 它很深奥吗?你肯定常常见过它,使用它,甚至离不开它... 它很浅显吗?你可能觉得看透它,理解它,甚至懂它... 让我们用15分钟,不那么学术地将它的深挖到底~ 什么?如何证明我是我?本文要上 ...
- c#问答篇:对象与引用变量-----初学者的困惑
转自:http://www.cnblogs.com/huangyu/archive/2004/08/02/29622.html 从宏观的角度来看,对象是类的实例.比如: //定义一个名为Someone ...
- Uber司机手机终端问答篇
手机客户端 Q:自带安卓手机可以使用吗? A:安卓终端已经推出,请在微信页面点左下菜单选取“下载司机端APP”查看! Q:对自带苹果手机的要求? A:4S型号及以上且未越狱:使用3G或4G网络 Q:客 ...
- 大数据基础知识问答----hadoop篇
handoop相关知识点 1.Hadoop是什么? Hadoop是一个由Apache基金会所开发的分布式系统基础架构.用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群的威力进行高速 ...
- 网络模型+三次握手+四次挥手+DNS+HTTPS
网络模型+三次握手+四次挥手+DNS+HTTPS 这篇文章十分精华,所以整理一下: 一.网络模型 OSI七层模型,和TCP/IP五层模型(更为普遍) TCP/IP 协议集: 二.TCP协议(传输层)建 ...
- Nginx系列篇一:linux中安装Nginx
提示: 如遇到yum或者wget的问题, 请详见--->杂集:更换centos yum源 请详见--->杂集:关于VMware中linux使用NAT模式配置 1.安装nginx需要的环境 ...
- TGL站长关于常见问题的回复
问题地址: http://www.thegrouplet.com/thread-112923-1-1.html 问题: 网站配有太多的模板是否影响网站加载速度 月光答复: wp不需要删除其他的模板,不 ...
- 【微信小程序开发】之如何获取免费ssl证书【图文步骤】
微信小程序要求所有网络请求都走ssl加密,因此我们开发服务端接口需要配置为https 这篇文章介绍一下如何 在 startssl 申请一个免费的ca证书. 1. 打开网站 https://www.s ...
- 阵列卡,组成的磁盘组就像是一个硬盘,pci-e扩展出sata3.0
你想提升性能,那么组RAID0,主板上的RAID应该是软RAID,肯定没有阵列卡来得稳定.如果你有闲钱,可以考虑用阵列卡. 不会的.即使不能起到RAID的作用,起码也可以当作直接连接了2个硬盘.不会影 ...
随机推荐
- Delphi自己隐藏自定义弹出列表
先上代码 procedure TForm3.Timer1Timer(Sender: TObject); var Point: TPoint; Name: array[0..255] of Char; ...
- .net core中使用openssl的公钥私钥进行加解密
这篇博文分享的是 C#中使用OpenSSL的公钥加密/私钥解密 一文中的解决方法在 .net core 中的改进.之前的博文针对的是 .NET Framework ,加解密用的是 RSACryptoS ...
- ABP理论学习之应用服务
返回总目录 本篇目录 IApplicationService接口 ApplicationService类 工作单元 数据库连接和事务管理 自动保存更改 更多 应用服务的生命周期 应用服务用于将领域逻辑 ...
- 删除Mysql数据表中多余的重复记录的sql语句
数据表 sniper_tb 中存在主键 id,字段url,现需要在url字段上添加 unique,但由于url存在重复记录,导致添加失败. 如何删除表中多余的url重复记录,仅保持一条? 思路一 将 ...
- Linux下的.NET之旅:第一站,CentOS+Mono+Xsp构建最简单的ASP.NET服务器
一.Mono产生的背景 由于Linux/Unix等有更强的安全性.运行效率高.拥有大量优秀的开源组件,而.Net则有着其他语言无与伦比的开发效率,因此在非微软平台下运行.Net程序的需求很强烈.Mon ...
- js模版引擎handlebars.js实用教程——目录
写在开头的话: 阅读本文需要了解基本的Handlebars.js概念,本文并不是Handlebars.js基础教程,而是注重于实际应用,为读者阐述使用过程中可能会遇到的一些问题. 实际上,小菜写这篇文 ...
- IIS ApplicationPoolIdentity
原创地址:http://www.cnblogs.com/jfzhu/p/4067297.html 转载请注明出处 从IIS 7.5开始,Application Pool Identity的Built- ...
- Nginx重写
一.location匹配 1.分类:(1)正则location:~,~*(2)普通location:=,^~,@,无2.匹配规则:(1) = 精确匹配.如果找到,停止搜索(2) ^~ 普通 ...
- Distributed4:SQL Server 分布式数据库性能测试
我使用三台SQL Server 2012 搭建分布式数据库,将一年的1.4亿条数据大致均匀存储在这三台Server中,每台Server 存储4个月的数据,Physical Server的配置基本相同, ...
- 开源地图SharpMap源码解析-(1)简介
1.简介 SharpMap最新版基于.NET Framework 4,采用C#开发的地图渲染引擎,非常易于使用.我这次研究的是比较稳定发布的V1.1版本.可以在GitHub下载该源码,地址:https ...