数字证书是什么

数字签名

数字签名类似于一种合同,能够保证数据未被更改。

  • 举个例子:
    张三给李四发一个文件,李四就可以根据数字签名来验证文件是张三所发并且没有被更改过。
  • 数字签名具体过程:
    1、张三拥有一个私钥和一个公钥,是一对基于非对称性加密概念实现的密钥,私钥所加密的文件只能用公钥来解密,反之同理。私钥由自己保存,公钥则由接收者保存。
    2、发送文件之前,张三先用一定的方法(如hash)对文件内容进行操作,生成文件的摘要,然后用私钥对摘要进行加密得到数字签名,最后将文件和数字签名一起发送给李四。


    数字签名生成过程

    张三发送给李四的内容

    3、李四接收到文件后,使用张三的公钥解密数字签名,得到文件的摘要,然后对接收到的文件进行摘要处理,对比两个摘要就可以知道文件是否被篡改过


    李四的处理过程

    4、李四想回信给张三,就用张三的公钥来加密摘要,张三收到后用自己的私钥解密
  • 意外的情况
    王五偷偷将李四那边保存的张三的公钥换成了自己的公钥,然后用自己的私钥给李四发文件,而李四并不知道这个文件不是张三发的,这时候就需要用到数字证书

数字证书(CA)

张三到证书中心,利用证书中心的私钥,自己的公钥和一些相关信息在一起加密,生成数字证书,保证了数据来源的正确性。

  • 数字证书的使用过程:
    1、张三先到证书中心获取数字证书,然后对要发送的文件进行摘要操作获得摘要,用私钥加密摘要得到数字签名,最后将数字证书、数字签名和原始文件一起发送给李四。
    2、李四收信后,先利用证书中心的公钥解密数字证书,得到其中包含的张三的公钥,再用张三的公钥解密数字签名得到解密后的摘要,最后将两个摘要进行对比即可。

HTTPS

https协议就是数字证书应用的实例,具体过程:
1、客户端向服务器发出加密请求
2、服务器用私钥加密网页,连同数字证书一起发送给客户端
3、客户端根据证书管理器中“受信任的根证书颁发机构”列表。查看解开数字证书的公钥是否在列表中,如果数字证书记载的网址与正在浏览的网址不一致,说明证书可能被冒用

你可能感兴趣的:(数字证书是什么)