数字签名详解

Posted huahuayu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数字签名详解相关的知识,希望对你有一定的参考价值。

数字证书和我们平时见到的纸质证书一样,由一些通用的元素构成:

1. 证书的名称

2. 颁发证书的机构

3. 证书发给谁

4. 证书生效时间(有些证书还有失效时间)

5. 签名

技术分享图片

 

判断一个证书是否可信

1. 首先看发证机构是否值得信赖(比如微软颁发的数字证书和一个不知名的机构颁发的证书,你更信赖谁?)

2. 看是否处在有效期

3. 看数字签名,数字签名必须是真的,否则一切都是假的。数字签名是验明证书真伪的唯一凭证。

 

签名过程,以微软为例

1. 微软持有私钥,另外有配套的公钥。私钥可以理解为钥匙,公钥为锁。私钥是保密的,微软自己保存,公钥对全网络公开。

2. 微软对证书上的内容进行hash运算,得出摘要(digest),摘要是固定长度的一串字符

3. 摘要用私钥进行加密,就得到了签名

4. 将签名附在证书内容下面

 

解密过程

1. 拿到证书对签名使用公钥解密,得到证书摘要

2. 对比解密出来的摘要和签名时的摘要是一样的,证明证书是微软签发的,且内容没被篡改,因为任何对内容的篡改(哪怕只改一个bit位)解密出来的摘要都会和加密时大不相同

 

不幸的是,万一有人替换了你手中的公钥,再使用配对的私钥签名给你发消息,就可以欺骗你了。为了防范这种情况,就有了"证书中心"(certificate authority,简称CA),CA使用自己的私钥再次对证书进行签名来保证我们可以拿到真正的公钥。

 

read more: 数字签名是什么 http://www.ruanyifeng.com/blog/2011/08/what_is_a_digital_signature.html

 

以上是关于数字签名详解的主要内容,如果未能解决你的问题,请参考以下文章

APK签名机制之——V2签名机制详解

ios签名原理详解

Go-数字签名详解与Rsa数字签名代码

数字图像数字图像处理博客汇总

公钥,私钥,数字签名,数字证书详解

数字证书详解