某天,A公司的小明去B公司洽谈业务,B公司的前台没见过小明,小明也没有带介绍信,洽谈失败。。。

background Layer 1 A公司的小明 B公司的前台 你好,我是A公司的小明, 我来你们公司谈业务 A公司的小明 B公司的前台 对不起,我之前没见过你, 你有带介绍信么? 1. 2. A公司的小明 B公司的前台 滚。。。 3. 没有带。。。

第二天,小明带了介绍信,成功洽谈。

background Layer 1 A公司的小明 B公司的前台 你好,我是A公司的小明, 我来你们公司谈业务, A公司的小明 B公司的前台 但是你的介绍信是真的, 1. 2. 并且带了介绍信 好吧,虽然我不认识你, 请进吧 小明的介绍信 ***令小明去 B公司洽谈业务 **公章

因为A的介绍信上盖了公章,而B公司前台知道那是真的A公司公章,因此同意。

但是如果很多人都去B公司洽谈业务,且都带上自己公司的介绍信,那么又会比较麻烦。

background Layer 1 C公司的小六 B公司的前台 B公司的前台 我哪知道真假啊。。 1. 2. 我勒个去,这么多公章, 请回吧 D公司的小张 E公司的小刘 我们都有公司的介绍信,快放我们进去 C公司的小六 D公司的小张 E公司的小刘

因为每个介绍信上都有公章,B前台不可能知道所有的公章的真假。。。

此时有一个机构出现了,专门给这些公司的公章做公证,他们会去调查那个公司的情况,以及公章长啥样,确定无误了,就会给公司发一个证书,表示该公章可信,且这个结构很有权威,他们的证书很厉害,很难被伪造。

background Layer 1 C公司的小六 B公司的前台 B公司的前台 2. 2. 嗯,确实做了公证,请进吧 D公司的小张 E公司的小刘 我们的公章都有做公证,这下行了吧? C公司的小六 D公司的小张 E公司的小刘 公证处 我们要公证我们的公章 好的 1. C公司的小六 D公司的小张 E公司的小刘 我们要公证我们的公章 **公章 公证公章 公证的公章

啥是CA

上图中最后的公证机构就是CA(Certificate Authority),“证书授权中心”,它要给啥做公证呢?上图中,它是给公章做公证,现实中,它是给公钥做公证。为啥给公钥做公证?请看https原理分析,里面提到了,用户需要可信的公钥。

啥是数字证书

假如你想让你的网站成为https,也就是受信任的网站,那么就要去CA去认证,提交你的资料和公钥,然后人家会审核,审核通过后给你一张"数字证书",里面主要有基本信息(你的基本信息,加密方式等,过期时间),公钥,签名。(其中签名是用CA的私钥对内容加密所得,下面有讲。)

啥是数字签名

数字签名是用来校验数据完整性的,数字证书里面就用到了数字签名。

假如现在有一个文件需要用数字签名,文件的内容是abcd,那么先对abcd进行hash操作,得出一个hash值,叫做“摘要”,然后用私钥对摘要进行加密,为什么要先获取“摘要”?因为非对称加密(公钥/私钥)对内容很多的数据加密/解密,速度慢,因此需要做一个hash。

通常数字签名是加在正文的后面,然后传递过去之后,对方先用公钥揭开“摘要”内容,然后对正文内容做hash操作,如果两次内容一致,则表示没问题。

客户端如何验证数字证书?

我们提到数字证书是由CA颁发给企业的,那么普通浏览器如何验证它是否正确呢?

其实在客户端本地浏览器里面,会有一个“根证书”,它里面记录了很多的CA公钥,然后用对应的CA公钥去解数字证书,看内容是否正确,还要看证书的发行商,是否过期等。

客户端本地的根证书不允许被修改,正常情况下可以保证根证书是安全的,根证书是https安全的源头,如果根证书出了问题,https就玩不转了。

其他文章

0
我要评论

评论

返回
×

我要评论

回复:

昵称:(昵称不超过20个字)

图片:

提交
还可以输入500个字