为何软件需要1个数字签名证书? 搞软件开发的大概都会了解到需要给软件进行签名加密,那么这个所谓的数字签名是什么呢?有了数字签名和没有进行数字签名有何区别呢?
1. 什么是数字签名?为何需要数字签名?
我们来看下微软这个巨头是如何给“数字签名”进行定义的,数字签名是指可以添加到文件的电子安全标记。 使用它可以验证文件的发布者以及帮助验证文件自被数字签名后是否发生更改。
如果文件没有有效的数字签名,则无法确保该文件确实来自它所声称的源,或者无法确保它在发布后未被篡改(可能被病毒篡改)。
2. 有了数字签名是什么样?没有进行数字签名又怎样?
(1) 真实性 ( authenticity ) :让用户确信此软件的来源 ( 软件开发商的真实性 );
(2) 完整性 ( integrity ) :确保软件发布后没有被篡改。
我们可以通过另个截图进行对比下,能看到数字签名的作用了。
下载有数字签名的软件时,系统会告诉你此软件的发行商,能证明软件的真实身份。
如果没有进行数字签名的软件时,会提示“发行者:未知发行者”,并显示一个红色的叉号警告:此文件没有包含有效的数字签名以验证其发行者;而有数字签名的则只是黄色问号警告。没有数字签名的软件是不能轻易信任的!
此外对于ActiveX控件,如果没有数字签名,则Windows 直接拦截不允许运行。由此可见数字签名的重要性。