【HTTPS】Https和SSL学习笔记(二)
此文讲述证书的相关信息,参考文章链接http://www.guokr.com/post/116169/
一、 证书的类型
常用的几种证书如下:
(1) SSL证书,用于加密HTTP
(2) 代码签名证书,用于签名二进制文件,比如Windows内核驱动,Firefox插件,Java代码签名等等。
(3) 客户端证书,比如用于加密邮件等
(4) 双因素证书,网银专业版使用的USB Key里面用的就是这种类型的证书。
证书的格式是由X.509标准定义的。
这些证书需要由受认证的证书颁发机构(通常称为CA机构)进行颁发,由CA颁发的证书都是受信任的。企业和个人都可以申请证书,根据证书的类型以及时间等因素。收费也是不一样的。
二、向CA申请证书
一般企业的证书比个人的费用要高,申请证书的时候是有有效期的,有效期过了以后,需要重新申请。
在申请证书的时候,需要提供网站的域名,提供域名的时候需要证明申请人对域名有所有权。一般来说一个证书只能绑定一个域名,只有在访问这个域名的时候,此证书才是受信任的。另外域名中可以带通配符*,但是这样的证书比较贵。百度的证书就是带通配符的(如图1)。颁发给中的通用名就是申请证书时填写的域名,颁发者的通用名就是颁发机构。若里面有“Extended Validation SSL”的字样,表明了这个证书是一个EV SSL证书(扩展验证SSL证书),EV SSL证书有个特点就是可以让浏览器的地址栏变绿,同时显示出来证书所属公司的名称。有效期中的两个时间就是证书生效时间和实效时间。申请证书的时候除了提供域名之后,还需要提供营业执照以及身份信息等。
图1
三、证书的验证过程
证书以证书链的形式组织,在颁发证书的时候首先要有根CA机构颁发的根证书,再由根CA机构颁发中级CA机构的证书,最后由中级CA机构颁发SSL证书。在验证证书的时候也是一级一级验证的,只有所有的证书都是可信任的,这个SSl证书才会被浏览器信任。若根证书是不可信的,则他下面颁发的所有证书都是不可信的。下图展示了证书路径:
四、证书不被浏览器信任的几个原因
(1) 证书过期
(2) 证书中的域名与访问的域名不一致
(3) 颁发机构不受信任
【HTTPS】Https和SSL学习笔记(二)的更多相关文章
- Learning ROS for Robotics Programming Second Edition学习笔记(二) indigo tools
中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...
- Typescript 学习笔记二:数据类型
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...
- python3.4学习笔记(二十四) Python pycharm window安装redis MySQL-python相关方法
python3.4学习笔记(二十四) Python pycharm window安装redis MySQL-python相关方法window安装redis,下载Redis的压缩包https://git ...
- Go语言学习笔记二: 变量
Go语言学习笔记二: 变量 今天又学了一招如何查看go的版本的命令:go version.另外上一个笔记中的代码还可以使用go run hello.go来运行,只是这种方式不会生成exe文件. 定义变 ...
- amazeui学习笔记二(进阶开发4)--JavaScript规范Rules
amazeui学习笔记二(进阶开发4)--JavaScript规范Rules 一.总结 1.注释规范总原则: As short as possible(如无必要,勿增注释):尽量提高代码本身的清晰性. ...
- 转)delphi chrome cef3 控件学习笔记 (二)
(转)delphi chrome cef3 控件学习笔记 (二) https://blog.csdn.net/risesoft2012/article/details/51260832 原创 2016 ...
- Lamda表达式学习笔记二
Lamda表达式学习笔记二 lamda表达式----方法引用 上一篇讲到Lamda体就是对函数式接口方法的实现 ,在方法体中我们可能会引用其他方法实现逻辑,所以在lamda体中我们可以直接引用器方法 ...
- Java IO学习笔记二:DirectByteBuffer与HeapByteBuffer
作者:Grey 原文地址:Java IO学习笔记二:DirectByteBuffer与HeapByteBuffer ByteBuffer.allocate()与ByteBuffer.allocateD ...
- 微信小程序学习笔记二 数据绑定 + 事件绑定
微信小程序学习笔记二 1. 小程序特点概述 没有DOM 组件化开发: 具备特定功能效果的代码集合 体积小, 单个压缩包体积不能大于2M, 否则无法上线 小程序的四个重要的文件 *js *.wxml - ...
- WPF的Binding学习笔记(二)
原文: http://www.cnblogs.com/pasoraku/archive/2012/10/25/2738428.htmlWPF的Binding学习笔记(二) 上次学了点点Binding的 ...
随机推荐
- Java管道流PipedStream
管道读取流和管道写入流可以像管道一样对接上,管道读取流就可以读取管道写入流写入的数据.需要注意的是需要加入多线程技术,因为单线程,先执行read,会发生死锁,因为read方法是阻塞式的,没有数据的re ...
- [Objective-c 基础 - 2.5] .h和.m文件,点语法,成员变量作用域
A. 命令行编译和XCode编译 1.在存在多个.m源码实现文件的情况下,若根据需要引入.m文件,使用命令行仅仅编译主.m文件即可,但是XCode会同时编译全部.m文件,会发生编译错误(重复定义全局变 ...
- 使用Superprg 下载 AVR/51单片机固件 【worldsing笔记】
progisp 2.0 可以下载avr.51等单片机,单击下载 Superprg 单击下载 Superprg软件志峰公司出的专用软件,配合ZF_209使用, ...
- 射频识别技术漫谈(14)——S50与S70存取控制【worldsing笔记】
存取控制指符合什么条件才能对卡片进行操作. S50和S70的块分为数据块和控制块,对数据块的操作有"读"."写"."加值"."减值 ...
- 简单dp-poj-2231-Moo Volume
题目链接: http://poj.org/problem?id=2231 题目大意: 给n个位置,求所有位置到其他n-1个位置的距离总和. 解题思路: 简单dp. o(n^2)的时间复杂度会超.先对这 ...
- Reactive native 项目创建失败如何处理
首先感谢党的英明决策. 一开始我总觉得Awesomeproject这个名字是固定的,和我有同感的同学请举手. 其实我们可以起任意的名字,执行native react init碰到的最大的问题是 npm ...
- oracle的commit
oracle的commit就是提交数据(释放锁),在未提交前你前面的操作更新的都是内存,没有更新到物理文件中.执行commit从用户角度讲就是更新到物理文件了,事实上commit时还没有写date f ...
- Young不等式的一个新证明
设 $p>0,q>0,a>0,b>0$ 且 $1/p+1/q=1$ 有 \[ab\leq \frac{a^{p}}{p}+\frac{b^{q}}{q}\] 证明:设 \[f( ...
- android studio简易了解第二部分
1.新建Moudle(eclispe的项目) 其余的和eclipse差不多,一般情况一直next就可以了! 如果选择New Project会重新打开一个AS.一个AS只会有一个Project(ecli ...
- 【转】Android studio 导入github工程
http://blog.csdn.net/feixiaku/article/details/45155587/ 从github下载两个开源项目: PagerSlidingTabStrip | ...