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个硬盘.不会影 ...
随机推荐
- 可能是最通俗的Lempel-Ziv-Welch (LZW)无损压缩算法详述
最近工作正好接触到这一块,试着自己总结了一下,给需要的人提供一点帮助. 一.概述 首先看看百度百科里的一句话介绍:“LZW就是通过建立一个字符串表,用较短的代码来表示较长的字符串来实现压缩.” 简单来 ...
- 【实战Java高并发程序设计 7】让线程之间互相帮助--SynchronousQueue的实现
[实战Java高并发程序设计 1]Java中的指针:Unsafe类 [实战Java高并发程序设计 2]无锁的对象引用:AtomicReference [实战Java高并发程序设计 3]带有时间戳的对象 ...
- Repeater的分页
Repeater控件是个好东西.轻量级.又好用.完全的自定义.但是,正是因为这些优点它没有自动分页的功能.这个需要研究一下.我看了一下起点等小说网站,那些什么推荐排名榜用Repeater控件那是很 ...
- CSS 基础语法
注:CSS对大小写不敏感,但是如果涉及到与HTML文档一起工作的时候,class和id名称对大小写是敏感的 一.color color:#ff0000; color:#f00; //缩写 color: ...
- 解读ASP.NET 5 & MVC6系列(2):初识项目
初识项目 打开VS2015,创建Web项目,选择ASP.NET Web Application,在弹出的窗口里选择ASP.NET 5 Website模板创建项目,图示如下: 我们可以看到,此时Web ...
- 动态sql
目录 1.给动态语句传值(USING 子句) 2.从动态语句检索值(INTO子句) 3.动态调用存过 4.将返回值传递到PL/SQL记录类型;同样也可用%rowtype变量 5.传递并检索值.INTO ...
- Python黑帽编程1.1虚拟机安装和配置 Kali Linux 2016
Python黑帽编程1.1虚拟机安装和配置 Kali Linux 2016 0.1 本系列教程说明 本系列教程,采用的大纲母本为<Understanding Network Hacks Att ...
- JDK下载、安装、配置环境变量笔记
自己总是在下载.安装.配置JDK的环境变量,但是这些需要的专业知识并不难,但有很多细节很重要,总是记不住,而且这些细节一旦出错影响还是很严重的,在网上查到的信息很多都比较零散,而且讲解得也不是很详细, ...
- Screeps ———— A MMO Strategy Sandbox Game for Programmers
At the beginning, let's see three of this game's captures. Yes, As what you see in these pictures, y ...
- LINQ系列:Linq to Object生成操作符
生成操作符从现有序列值中创建新的序列. 1. Empty Empty操作符返回一个指定类型的空集. 1>. 原型定义 public static IEnumerable<TResult& ...