- 数字签名+数字证书现的原理
1
将报文按双方约定的HASH算法计算得到一个固定位数的报文摘要。
在数学上保证,只要改动报文中任何一位,重新计算出的报文摘要值就会与原先的值不相符。这样就保证了报文的不可更改性。
2
将该发送方报文摘要值用发送方的私人密钥加密(即为数字签名),然后连同原报文和数字证书一起发送给接收者。
3
证书中心(CA)用自己的私钥,对鲍勃的公钥和一些相关信息一起加密,生成"数字证书"(Digital Certificate)。
接收方收到消息后,使用CA的公钥解开数字证书,确定公钥是否真的属于此发送方,若是,则继续
4
接下来,接收方取下数字签名,使用发送方的公钥进行解密,获取发送方报文摘要值,如果获取失败,则说明此报文不是该发送方发出的;如果获取成功,则继续
5
接收方取下原报文,对原报文使用HASH算法得到接收方报文摘要值,与发送方报文摘要值相比较,如相等则说明报文未被修改过
- 以HTTPS为例进行讲解
1
客户端向服务器发送HTTPS请求
2
服务器用自己的私钥加密网页以后,连同本身的数字证书,一起发送给客户端。
3
客户端(浏览器)的"证书管理器",有"受信任的根证书颁发机构"列表。客户端会根据这张列表,查看解开数字证书的公钥是否在