https证书链

数字证书和数字签名

个人总结就是数字签名用来保证数据没有被篡改,数字证书用来验证数据的身份。

数字证书 = 元信息+数字签名(元信息hash + 私钥加密)
http://www.ruanyifeng.com/blog/2011/08/what_is_a_digital_signature.html

证书的签发(Signing)和认证(Verification)的过程:

在这里插入图片描述

签发过程:
  1. data里是证书的元信息,包含签发人(谁签发的这个证书),有效期,证书持有者的信息(域名),和持有人的公钥。
  2. 证书元信息通过hash算法生成摘要信息
  3. 用签发人的私钥对摘要信息进行加密生成数字签名(用签发人的公钥对摘要信息进行解密)
  4. 数字签名+证书元信息 = 签名过的证书
验证步骤:
  1. 签名过的证书 = 数字签名 + 证书元信息
  2. 证书元信息通过hash算法生成摘要信息
  3. 用签发人的公钥解密数字签名获得解密后摘要信息
  4. 对比解密后的摘要信息 和 hash算法生成摘要信息

总结 如果能用签发人的公钥解密数字签名证明这个证书的签发人,如果解密后的摘要信息等于hash算法生成的摘要信息证明证书元信息没有被篡改(也就保证了持有人公钥没有被篡改)

证书可以保证持有人的公钥匙不被篡改,但是这里有一个问题,如果证书是伪造的呢?想象一下证书的持有人没有去正规的ca签发,自己在证书的元信息中伪造了持有人的信息,比如把域名改成了淘宝自己伪装成马云爸爸。这多危险啊,所以还要对证书的身份做验证,你说你是马云爸爸不行,我看看你签发人的信息!你签发人要是阿里巴巴我才相信你。如果我把数字证书看成一个证书元信息,在对他进行一次数字签名是不是就可以证明我这个数字证书的身份了,有点绕我在说一下 ((证书元信息+数字签名)+数字签名)+数字签名)有点感觉了么?最终最外层的那个证书就叫做根证书,根证书是由根ca(证书中心)签发的,这俩别搞混了。

在这里插入图片描述
从上图可以看到,证书的元信息里有一个签发人的ca和签发人的ca的数字签名,那怎么验证签发人的ca是合法的呢?比如我说我是马云是因为一个神经病说我是马云,这肯定不对是吧,必须是阿里巴巴承认我是马云,那我证明阿里巴巴是合法的呢?往上一级一级的认证,最后到国税局认证,国税局肯定不会骗人吧,国税用他的公钥验证阿里巴巴的数字签名(数字签名=hash+签发人的私钥)如果正确就证实了阿里巴巴的合法性,由于可以确认阿里巴巴是真实合法的,再来验证我是马云。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值