今年 8 月,Google 正式公布了 Android 9.0 ,新的甜点名称也正式揭晓——Pie。这次的大版本升级中,藏着一个不起眼的特性:默认使用 HTTPS

为了将所有网络流量从明文(未加密的 HTTP)逐步迁移到 TLS,我们更改了网络安全配置的默认设置,以组织所有明文流量,强制应用通过 TLS 建立网络连接,除非开发者明确允许特定域名使用明文传输。

这是 Google 在 Chrome 上将 HTTP 网站标记为不安全、搜索引擎优先收录 HTTPS网站之后的又一大招,一切只为普及 HTTPS。

其实除了 Google,国外的苹果、火狐也在大力推广 HTTPS 加密,国内主流的电商网站如淘宝、天猫、百度、京东等也完成了全站 SSL 证书部署。如火如荼的微信小程序也必须使用 HTTPS 加密。百度、Google 等公开声明,搜索引擎会优先收录 HTTPS 网站。HTTPS 加密已经成为一种趋势,而 SSL 证书正是实现 HTTPS 的必备条件。

多了 SSL 层的 HTTP 协议

HTTPS 就是在 HTTP 下加入了 SSL 层,从而保护了交换数据隐私和完整性,提供对网站服务器身份认证的功能,简单来说它就是安全版的 HTTP。

一般来说,HTTPS 主要用途有三个:一是通过证书等信息确认网站的真实性;二是建立加密的信息通道;三是数据内容的完整性。

△ SSL 连接过程

想知道 HTTPS 为什么安全,来简单了解下 SSL 连接过程。如上图所示,SSL 连接过程主要有以下几个步骤:

1、客户端发起 HTTPS 请求,服务器会发送了一个 SSL 证书给客户端,SSL 证书中包含证书的发布机构 CA、证书的有效期、公钥、证书所有者、签名等信息

2、客户端可以根据公钥验证服务器的身份,并随机生成对称密钥,并对密钥使用公钥加密。

3、使用公钥对随机的密钥进行加密。

4、将加密后的随机密钥发送给服务器,服务器用私钥解析获取客户端的随机密钥。

5、用生成的对称密钥加密的密文通信。

连接过程中,浏览器会读取证书中的证书所有者、有效期等信息进行一一校验,并查找操作系统中已内置的受信任证书发布机构CA,与服务器发来的证书中的颁发者CA比对,看证书是否为合法机构颁发。只有通过校验,才能进行接下来的加密步骤。
由此可见:SSL 证书是部署 HTTPS 中必不可少的,它相当于服务器的“身份证”。

选一张适合你的SSL 证书

DV、OV、EV SSL 证书

安全、可靠显然成了 HTTPS 的代名词。那么该如何选择合适的 SSL 证书呢?

△ SSL 类型

SSL 证书按大类一般可分为 DV SSL 、OV SSL 、EV SSL 证书,相对应的中文表述为域名型、企业型、增强型证书,不同的厂商叫法可能有所不同,但差别不大。这几类SSL证书在实际部署中还是有所差异的。

域名验证型 DV SSL 证书

CA(证书颁布机构)只对域名的所有者进行在线检查,通常是验证域名下某个指定文件的内容,或者验证与域名相关的某条 TXT 记录;

比如访问 [http|https]://http://www.domain.com/…/test.txt,文件内容: 2016082xxxxx39w7b20nelfa;

或在与域名相关的 DNS 服务器上添加一条 TXT 记录:http://www.domain.com –> TXT –> 20170xxxxxqmkiby43hpvy8

组织验证型 OV SSL 证书

OV SSL 证书需要购买者提交组织机构资料和单位授权信等在官方注册的凭证,CA 在签发 SSL 证书前不仅仅要检验域名所有权,还必须对这些资料的真实合法性进行多方查验,只有通过验证的才能颁发 OV SSL 证书。

扩展验证型 EV SSL 证书

EV SSL 证书是安全系数最高的 SSL 证书,与其他 SSL 证书一样,也是基于 SSL/TLS 安全协议,但是验证流程更加具体详细,验证步骤更多,EV SSL 证书所绑定的网站也更加可靠、可信。在用户端,EV SSL 跟其他 SSL 证书的区别非常明显:浏览器访问应用了 EV SSL 证书的网站时,地址栏会变成绿色;如果是不受信的 SSL 证书则拒绝显示,如果是钓鱼网站,地址栏则会变成红色,以警示用户。

△ SSL 分类详情

免费 SSL 证书即免费型的 DV SSL 证书,可以保护一个完整的域名,不支持通配符。签发过程只需验证域名信息,签发速度非常快,几分钟即可完成。

而付费 SSL 证书分为付费的 DV SSL 证书、企业型 OV SSL 证书和增强型 EV SSL 证书。OV SSL 证书、EV SSL 证书证书对申请者都需要做严格的身份审核验证,需要提供可信身份证明。其中涉及的资料包括申请人授权书、营业执照、组织机构代码证等的重要信息。身份的认证作用是为了让用户对网站的真实进行验证,帮助他们去辨别网站的真实身份,免受中间的攻击或者误入钓鱼网站,建立起用户对网站真实性的信任。签发时间一般在3至 15 个工作日。

常见 CA 机构

SSL 证书通常是由 CA 机构颁发,并且需要支持所有浏览器的 SSL 证书产品。下面介绍下常见的几个品牌。

△ 常见 CA 机构

不同场景下的证书选择

由于本身特性上的差异,免费证书和付费证书,可以适用不同的应用场景。我们可以根据自己的需求进行更多的选择。

  • 免费 SSL 证书:

免费 DV 证书对于个人博客、小微企业、API 服务等服务,可以节省一笔不菲的开支,并且免费 DV 证书足以满足基本的加密要求,提高用户对网站的信任,以及搜索引擎对 SEO 的优化。当然如果在条件允许的情况下,付费 SSL 证书不失为一种更好的选择;

  • 付费 SSL 证书:

对于中大型企业网站、金融平台和政府机关等付费的 OV、EV 证书则更加适用。付费 SSL 证书对信息传输过程有更高的加密验证,还可以通过 SSL 证书来彰显品牌形象,为消费者塑造更加可靠的形象。

又拍云于 2016 年联合国际顶级 CA 机构,提供 Symantec、GeoTrust、TrustAsia、Let’s Encrypt 等品牌的免费 DV SSL 证书和付费 DV、OV、EV SSL 证书。证书申购方便快捷,证书颁发只需 3~5 个工作日,一键部署,高效开启全站 HTTPS。

更加深入了解 HTTPS

从 HTTP 到 HTTPS 再到 HSTS

HTTPS 到底加密了什么?

用了 HTTPS 还不安全,问题就出在低版本 TLS 上

看完Andoird9.0 Pie的隐藏特性,我买了SSL证书的更多相关文章

  1. 深度分析:java8的新特性lambda和stream流,看完你学会了吗?

    1. lambda表达式 1.1 什么是lambda 以java为例,可以对一个java变量赋一个值,比如int a = 1,而对于一个方法,一块代码也是赋予给一个变量的,对于这块代码,或者说被赋给变 ...

  2. Windows PowerShell是啥?看完本文你就懂它了

    这篇文章主要介绍了Windows PowerShell是啥?Windows PowerShell是什么?Windows PowerShell有哪些特性?Windows PowerShell有什么用?看 ...

  3. Mysql快速入门(看完这篇能够满足80%的日常开发)

    这是一篇mysql的学习笔记,整理结合了网上搜索的教程以及自己看的视频教程,看完这篇能够满足80%的日常开发了. 菜鸟教程:https://www.runoob.com/mysql/mysql-tut ...

  4. 有史来最大改变 Android 5.0十大新特性

    有史来最大改变 Android 5.0十大新特性 2014.10.16 14:51:31 来源:腾讯数码作者:腾讯数码 ( 0 条评论 )   距离Android系统上一次重大更新不到一年的时间,谷歌 ...

  5. 业余草分享 Spring Boot 2.0 正式发布的新特性

    就在昨天Spring Boot2.0.0.RELEASE正式发布,今天早上在发布Spring Boot2.0的时候还出现一个小插曲,将Spring Boot2.0同步到Maven仓库的时候出现了错误, ...

  6. Android图表库MPAndroidChart(二)——线形图的方方面面,看完你会回来感谢我的

    Android图表库MPAndroidChart(二)--线形图的方方面面,看完你会回来感谢我的 在学习本课程之前我建议先把我之前的博客看完,这样对整体的流程有一个大致的了解 Android图表库MP ...

  7. [转帖]看完这篇文章你还敢说你懂JVM吗?

    看完这篇文章你还敢说你懂JVM吗? 在一些物理内存为8g的服务器上,主要运行一个Java服务,系统内存分配如下:Java服务的JVM堆大小设置为6g,一个监控进程占用大约 600m,Linux自身使用 ...

  8. 看完此文,妈妈还会担心你docker入不了门?

    本文在个人技术博客不同步发布,详情可猛戳 亦可扫描屏幕右侧二维码关注个人公众号,公众号内有个人联系方式,等你来撩...   上周对象突然心血来潮说想养个小宠物,我问想养啥她又说随便,你看着办!!!这我 ...

  9. 看完这篇HTTP,跟面试官扯皮就没问题了

    我是一名程序员,我的主要编程语言是 Java,我更是一名 Web 开发人员,所以我必须要了解 HTTP,所以本篇文章就来带你从 HTTP 入门到进阶,看完让你有一种恍然大悟.醍醐灌顶的感觉. 最初在有 ...

随机推荐

  1. MongoDB,从数组中删除对象

    { _id: 5150a1199fac0e6910000002, name: 'some name, items: [{ id: 23, name: 'item name 23' },{ id: 24 ...

  2. js常用代码

    获取URL ?后的查询参数 function query(name) { var reg = new RegExp("(^|&)" + name + "=([^& ...

  3. Sublime Text3 & MinGW & LLVM CLang 安装配置C-C++编译环境

    Sublime Text是一款强大的跨平台代码编辑器,小巧而且丰富实用的功能是Visual Studio不能比拟的,但是编译运行是一个软肋,本文通过在sublime中配置g++编译器实现程序的编译功能 ...

  4. mac os x 查看网络端口情况

    查看端口是否打开 使用 netstat 命令 a. `netstat -nat | grep <端口号>` , 如命令 `netstat -nat | grep 3306` b. `net ...

  5. Spring Cloud 微服务笔记(六)Spring Cloud Hystrix

    Spring Cloud Hystrix Hystrix是一个延迟和容错库,旨在隔离远程系统.服务和第三方库,阻止链接故障,在复杂的分布式系统中实现恢复能力. 一.快速入门 1)依赖: <dep ...

  6. 心得体会,搞清楚你为什么学习C++?

    小编作为一名初学者时,从来没问过自己学习C语言.C++等语言是为了什么? 一开始,接触到这个行业可以说是有种魔力引导我,感到了很大的兴趣,很有意思. 我试着读资料,报名学习,找资料,可算是功夫不负有心 ...

  7. c++链表基本操作

    #include <stdlib.h> #include <malloc.h> #include <stdio.h> typedef struct Node { i ...

  8. 继承ipkPlayer中出现的一些错误汇总

    1.下载完ffmpeg后,我们再在终端执行下面两个命令: cd ios./compile-ffmpeg.sh clean./compile-ffmpeg.sh all 大体流程如下  这里如果出现 x ...

  9. pygame学习

    http://eyehere.net/2011/python-pygame-novice-professional-3/ http://www.pygame.org/docs/ref/event.ht ...

  10. 获取用户在web页面上选中的文本

    window.getSelection().toString();