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个硬盘.不会影 ...
随机推荐
- DES原理
1.DES的描述 为了建立适用于计算机系统的商用密码,美国商业部的国家标准局NBS于1973年5月和1974年8月两次发布通告,向社会征求密码算法.在征得的算法中,由IBM公司提出的算法lucifer ...
- 初涉深度优先搜索--Java学习笔记(二)
版权声明: 本文由Faye_Zuo发布于http://www.cnblogs.com/zuofeiyi/, 本文可以被全部的转载或者部分使用,但请注明出处. 上周学习了数组和链表,有点基础了解以后,这 ...
- Apache与Nginx区别
1.nginx相对于apache的优点: 轻量级,同样起web 服务,比apache占用更少的内存及资源 抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx ...
- XMLHTTPRequest对象的创建与浏览器的兼容问题
MLHttpRequest 对象是AJAX功能的核心,要开发AJAX程序必须从了解XMLHttpRequest 对象开始. 了解XMLHttpRequest 对象就先从创建XMLHttpRequest ...
- 【腾讯优测干货分享】Android 相机预览方向及其适配探索
本文来自于腾讯bugly开发者社区,未经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/583ba1df25d735cd2797004d 由于Android系统的开放策略 ...
- Java多线程7:死锁
前言 死锁单独写一篇文章是因为这是一个很严重的.必须要引起重视的问题.这不是夸大死锁的风险,尽管锁被持有的时间通常很短,但是作为商业产品的应用程序每天可能要执行数十亿次获取锁->释放锁的操作,只 ...
- 操作系统核心原理-7.设备管理:I/O原理
一.I/O的基本知识 1.1 为何要有I/O 前面阐述了操作系统具有进程管理.内存管理.外存管理三大核心功能,但是计算机归根是为人类服务的,这就要求计算机必须提供某种机制使得人们可以向计算机发出命令或 ...
- 译文---C#堆VS栈(Part One)
前言 本文主要是讲解C#语言在内存中堆.栈的使用情况,使读者能更好的理解值类型.引用类型以及线程栈.托管堆. 首先感谢原文作者:Matthew Cochran 为我们带来了一篇非常好的文章,并配以大量 ...
- Zookeeper API for JAVA实战与应用
package com.zookeeper.watcher; import java.util.List; import java.util.concurrent.CountDownLatch; im ...
- 逻辑回归(LR)总结复习
摘要: 1.算法概述 2.算法推导 3.算法特性及优缺点 4.注意事项 5.实现和具体例子 6.适用场合 内容: 1.算法概述 最基本的LR分类器适合于对两分类(类0,类1)目标进行分类:这个模型以样 ...