如何验证数字签名证书,有什么用途?

如题所述

什么是数字签名?简单来说,数字签名是公钥密码的逆应用:用私钥加密消息,用公钥解密消息。数字签名是为了证明对方发的信息并没有被更改过,但前提条件是你确认对方是可靠的,即你拥有的公钥确实是对方的公钥而不是其他人的公钥。而数字证书就是为了证明你拥有的公钥确实是对方的。

一、数字证书的用途

以上“数字签名”例子中,我们都默认了一个前提条件:女神拥有的确实是你的公钥,如果女神的公钥被别人调包了呢?继续上面的实例:如果女神的公钥被你的一个情敌调包换成情敌的公钥了,当你把表白和数字签名发给女神的过程中,情敌把信息拦截了,拦截后重新写了一份表白并用他自己的私钥生成数字签名(重复你的操作,只不过内容已经换成情敌的了)重新发给女神,这时女神并不知道“你”已经换成“情敌”了,那你就悲剧了哦。这时数字证书就起作用了,数字证书就是为了给女神证明发信人的身份的。

2.数字证书包含的内容

在现实生活里,为了证明我们身份,公安机关会给每个人颁发一个身份证。在信息世界里,数字证书就是对方的身份证。同样的,数字证书也有专门的发证机关Certificate Authority,简称CA。发证机关颁发的数字证书里包含以下基本内容:

1.证书颁发机关

2.证书持有者名称/服务器域名

3.证书有效期

4.证书签名算法(摘要算法和加密算法)

5.证书签名值

6.证书所有者加密算法

7.证书所有者公钥

二、数字证书如何验证

现实中要验证一个人的身份,首先核对这个人的身份证有效性,然后再核对本人相貌跟身份证上的照片是否一致。数字证书也是一样的验证思路:

1.验证数字证书有效性

数字证书里包含了发证机关对这张证书的数字签名,而浏览器默认内置了发证机关的公钥(暂且这么理解),拿到公钥后先解密证书的数字签名拿到证书的摘要,然后浏览器用证书的摘要算法重新计算下证书的摘要,最后比对这两者的值是否相等,如果相等证明这张数字证书确实是发证机关颁发的有效证书。

三、验证“相貌”

如何验证该证书的所有者就是跟浏览器正在对话的网站呢?

数字证书包含了web网站服务器的一个或者多个域名,浏览器会验证该域名跟正在对话的服务器的域名是否匹配(防止MITM)。

四、数字证书的级联

颁发证书的机构是可以有级联关系的,即A机构可以委派B机构颁发证书,B机构也可以委派C颁发证书,如果网站的证书是C颁发的,那么需要用B的证书去验证C颁发的证书,同理需要用A机构的证书去验证B颁发的证书,这个过程是递归的,A机构的证书被称为“根证书”。“根证书”是配置在我们电脑上,默认是安全的。

如果用户遇到的问题不能解决,可通过wosign官网客服网页链接寻求帮助,凡是选择wosign ssl证书的网站用户,wosign可提供免费一对一的ssl证书技术部署支持网页链接,免除后顾之忧。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-02-04

标准代码签名证书

标准代码签名只需要验证申请企业的基本信息、税务信息,验证成功后通过邮件等形式通常针对32/64位应用程序进行签名,防止各类杀毒软件的误报。需要较短的处理时间以及较低的成本、无法用于 LSA 和 UEFI 文件签名、无法用于内核模式驱动程序。

EV扩展型代码签名证书

EV代码签名证书除了验证企业的基本信息、税务信息外,还对企业的经营地址、申请人身份进行审查,区别于标准代码签名的重要特点是支持Windows 10内核驱动文件签名和消除SmartScreen筛选器安全提醒,此外EV代码签名针对内核模式的驱动文件需要进行微软的交叉签名。

具体二者的主要区别如下: