文档章节

关于CA证书

 王素年
发布于 2015/11/27 16:28
字数 1557
阅读 415
收藏 6

什么是CA?

CA是Certificate Authority的缩写,也叫“证书授权中心”。它是负责  管理和签发证书的第三方机构,就好比故事里面的中介——C 公司。一般来说,CA 必须是所有行业和所有公众都信任的、认可的。因此它必须具有足够的权威性。就好比A、B两公司都必须信任C公司,才会找 C 公司作为公章的中介。


什么是CA证书?

CA 证书,顾名思义,就是CA颁发的证书。(人人都可以找工具制作证书。但是你一个小破孩制作出来的证书是没啥用处的。因为你不是权威的 CA 机关,你自己搞的证书不具有权威性)
这就好比上述的故事里,某个坏人自己刻了一个公章,盖到介绍信上。但是别人一看,不是受信任的中介公司的公章,就不予理睬。坏蛋的阴谋就不能得逞啦。

什么是证书之间的信任关系?

在故事里谈到,引入中介后,业务员要同时带两个介绍信。第一个介绍信包含了两个公章,并注明,公章C信任公章A。证书间的信任关系,就和这个类似。就是用一个证书来证明另一个证书是真实可信的。


证书有什么用啊?

1.验证网站是否可信  (针对HTTPS)

通常,我们如果访问某些敏感的网页(比如用户登录的页面),其协议都会使用 HTTPS 而不是 HTTP。因为 HTTP 协议是明文的,一旦有坏人在偷窥你的网络通讯,就可以看到网络通讯的内容(比如你的密码、银行帐号、等);而 HTTPS 是加密的协议,可以保证你的传输过程中,坏蛋无法偷窥。
  但是,千万不要以为,HTTPS 协议有了加密,就可高枕无忧了。再举一个例子来说明。假设有一个坏人,搞了一个假的网银的站点,然后诱骗你上这个站点。假设你又比较单纯,一不留神,就把你的帐号,口令都输入进去了。那这个坏蛋的阴谋就得逞了。
为了防止坏人这么干,HTTPS 协议除了有加密的机制,还有一套证书的机制。通过证书来确保,某个站点确实就是某个站点。
  有了证书之后,当你的浏览器在访问某个 HTTPS 网站时,会验证该站点上的 CA 证书(类似于验证介绍信的公章)。如果浏览器发现该证书没有问题(证书被某个根证书信任、证书上绑定的域名和该网站的域名一致、证书没有过期),那么页面就直接打开;否则的话,浏览器会给出一个警告,告诉你该网站的证书存在某某问题,是否继续访问该站点?为了形象起见,下面给出 IE 和 Firefox 的抓图:


大多数知名的网站,如果用了 HTTPS 协议,其证书都是可信的(也就不会出现上述警告)。所以,今后你如果上某个知名网站,发现浏览器跳出上述警告,你就要小心啦!


2.验证某文件是否可信(是否被篡改)

具体是通过证书来制作文件的数字签名。制作数字签名的过程太专业,就不说了。后面专门告诉大家如何验证文件的数字签名。考虑到大多数人用 Windows 系统,就拿 Windows 的例子来说。
  比如,我手头有一个 Firefox 的安装文件(带有数字签名)。当俺查看该文件的属性,会看到如下的界面。上面有个“数字签名”的标签页。如果没有出现这个标签页,就说明该文件没有附带数字签名。

(什么是数字签名?)

明文按照hash算法构成一个简要的摘要,这个摘要用私钥进行加密就形成了我对这个明文的数字签名,因为私钥只有我有,如果这个文件传给别人,别人可以用我的公钥对其进行解密,能修改解密后的文件,但别人不能进行加密,因为没有我的私钥,因此即使你修改了解密后的文件,我再把我加密的后的密文解密就知道你纂改了我的数据,同理这个方法可以用来验证发送方是我本人,因为只有我的公钥才能解我的私钥,说明该文件是由我发出的,并由我加密



选择该标签页,看到如下界面。
(顺便说一下,某些数字签名中没有包含“邮件地址”,那么这一项会显示“不可用”;同样的,某些数字签名没有包含“时间戳”,也会显示“不可用”。不要紧张,这里显示的“不可用”跟数字签名的有效性没关系。)

一般来说,签名列表中,有且仅有一个签名。选中它,点“详细信息”按钮。跳出如下界面:
通常这个界面会显示一行字:“该数字签名正常”(图中红圈标出)。如果有这行字,就说明该文件从出厂到你手里,中途没有被篡改过(是原装滴、是纯洁滴)。

如果该文件被篡改过了(比如,感染了病毒、被注入木马),那么对话框会出现一个警告提示“该数字签名无效”(图中红圈标出)。界面如下:


偷偷说一下:CNNIC(中国互联网信息中心)  的   CA 证书 名声特臭,可以google翻墙看看。现在很多国外的机构已经将其吊销,不再将其加入根证书列表中了。比如你用google浏览器访问网易(网易的证书是找CNNIC签发的),因为CNNIC不在google信任的证书范围内,所以你会发现google浏览器会报一网易的站点证书不安全的问题


© 著作权归作者所有

共有 人打赏支持
粉丝 2
博文 70
码字总数 43954
作品 0
普陀
程序员
使用OpenSSL实现CA证书的搭建过程

个人博客地址:http://www.pojun.tech/ 欢迎访问 什么是CA CA,Catificate Authority,通俗的理解就是一种认证机制。它的作用就是提供证书(也就是服务端证书,由域名,公司信息,序列号,签名...

Eumenides_s
2017/09/14
0
0
node-mitmproxy是一个基于nodejs,支持http/https的中间人(MITM)代理,便于渗透测试和开发调试。

node-mitmproxy 源码地址:https://github.com/wuchangming/node-mitmproxy node-mitmproxy是一个基于nodejs,支持http/https的中间人(MITM)代理,便于渗透测试和开发调试。 1、特性 1、支持...

wuchangming
2016/05/18
319
0
openssl 创建私有CA

创建私有CA: openssl的配置文件:/etc/pki/tls/openssl.cnf 1.创建所需要的文件 #touch index.txt #echo 01 > serial # 2.给CA发证 #(umask 077; openssl genrsa -out private/cakey.pem 2......

limingyu0312
2017/08/05
0
0
添加CA根证书到操作系统获得信任

现在很多网站和服务都使用了HTTPS进行链路加密、防止信息在传输中间节点被窃听和篡改。HTTPS的启用都需要一个CA证书,以保证加密过程是可信的。 我们可以申请和获得一个CA机构颁发的证书,在...

openthings
2016/11/13
165
0
windows和centos证书

在平时访问网站时总会遇到一些不信任网站,例如12306网站。那思考过如何把那些不受信任的网站变为信任呢。 一、windows中出现的不信任网站该如何解决。 ①按F12(我用的qq浏览器)查看证书,...

LUksl
2017/09/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

OSChina 周日乱弹 —— 种族不同,禁止交往

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @小小编辑:推荐歌曲《苏菲小姐》- 鱼果 《苏菲小姐》- 鱼果 手机党少年们想听歌,请使劲儿戳(这里) @貓夏:下大雨 正是睡觉的好时候 临睡前...

小小编辑
今天
211
6
Python 搭建简单服务器

Python动态服务器网页(需要使用WSGI接口),基本实现步骤如下: 1.等待客户端的链接,服务器会收到一个http协议的请求数据报 2.利用正则表达式对这个请求数据报进行解析(请求方式、提取出文...

代码打碟手
今天
1
0
Confluence 6 删除垃圾内容

属性(profile)垃圾 属性垃圾的定义为,一个垃圾用户在 Confluence 创建了用户,但是这个用户在自己的属性页面中添加了垃圾 URL。 如果你有很多垃圾用户在你的系统中创建了属性,你可以使用...

honeymose
今天
0
0
qduoj~前端~二次开发~打包docker镜像并上传到阿里云容器镜像仓库

上一篇文章https://my.oschina.net/finchxu/blog/1930017记录了怎么在本地修改前端,现在我要把我的修改添加到部署到本地的前端的docker容器中,然后打包这个容器成为一个本地镜像,然后把这...

虚拟世界的懒猫
今天
1
0
UML中 的各种符号含义

Class Notation A class notation consists of three parts: Class Name The name of the class appears in the first partition. Class Attributes Attributes are shown in the second par......

hutaishi
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部