什么是软件代码数字签名?

各种各样包装软件,让人应接不暇,大家用什么防伪标志识别正版软件呢?在当今的网络时代中,很多软件开发商可以通过网络不受时间、地域的限制而快速发行自己的软件,但用户无法辨认软件的真伪和软件代码的真实身份。在没有间谍软件和木马程序之前,大家还能相信某个软件就是正版软件,但是互联网的匿名性使用户根本无法确认此软件是否真是正版软件。那么如何保证软件代码在网络传输过程中不会被非法修改或被病毒干扰,还能让用户非常清楚地识别软件发行者的真实身份呢?答案就是代码数字签名。

以QQ为例,如果某个程序没有数字签名,那么它的安全性是得不到保证的,相反如果这个程序有数字签名,那么就可以保证它没有被非法篡改或损坏。

软件代码数字签名采用的是PKI双钥技术。

开发商在自己电脑上生成私钥和证书CSR文件提交给实惠数字证书,同时提交有关身份证明文件(如:营业执照或证明等)给实惠查验,实惠验证身份后用自己的私钥给CSR文件签名后生成代码签名证书(公钥)给软件开发商。这样就完成了证书的申请和颁发。

开发商用代码签名工具给要签名的代码生成一个Hash表,再用其私钥加密Hash表产生认证摘要,接着就把摘要连同其公钥与软件代码一起打包生成新的软件代码,软件开发商就可以把已经签名的代码在网上发行了。

最终用户从网上下载已经签名的代码时,浏览器会从签名代码中解读出其公钥和Hash表摘要,并与Windows的受信任的根证书相比较查验公钥证书的有效性和合法性,验证签名证书正确后,就可以确认此代码确实是来自真实的软件开发商。

代码的一致性是使用签名时使用的算法对软件代码生成一个Hash表,并使用公钥也同样生成一个Hash表认证摘要,比较两个Hash表的认证摘要是否一致,如果一致,就表明此代码在传输过程中没有任何修改,从而可以确认代码的一致性。

从上述过程的简单介绍中可以看出:

(1)购买代码签名证书一定要从Windows内置的受信任的根证书颁发机构购买(如:实惠),否则无法通过验证。

(2)代码签名后不仅保证了软件开发商的真实身份,而且还保证了代码的完整性,以免代码被病毒干扰或被非法篡改。

(3)只有使用了Windows受信任的证书颁发机构(如:实惠)颁发的代码签名证书签名的代码才允许下载,所以,如果您要让您的代码能让用户放心地下载,就一定要申请实惠的代码签名证书。

(0)

相关推荐

  • 如何制作软件

    软件的制作包括桌面系统软件.应用软件.移动手机软件.嵌入式软件.平板软件.单片机软件.服务器软件等等,根据硬件和操作系统的不同,我们可以划分出很多类别.但是他们的本质都是程序代码的功能组合,然后利用其 ...

  • 软件如何申请专利

    软件技术可以申请软件著作权以保护软件源代码,也可以申请发明专利以保护软件流程中的步骤执行方式 操作方法 01 专利保护的是软件解决问题的思想,而软件著作权保护的是软件代码(即软件思想的表达形式).例如 ...

  • tvos电视操作系统介绍以及下载

    tvos电视操作系统1.0正式发布,系统新增信息安全模块,可加强用户的信息安全保障,同时在市场化还可对电视机上的应用进行可管可控,任何应用安装到电视机都可被广电总局监测调控,往后诸如网络直播软件可 ...

  • Ubuntu 13.04迄今最好的体验

    从我们这些终端用户的角度看来,开发者们不再单纯地向软件代码中添加新功能,而是回头检视他们的作品,专注于重新整理和规范化他们的代码,这总是一件好事。苹果之前就在他们的Snow Leopard雪豹系统上面 ...

  • FileZilla Server的使用方法

    Filezilla的主要优势在于:高安全、高性能。Filazilla的安全性是来自于其开放源代码的。开源为何能保证安全?每一款软件产品 诞生后,都有很多人试图发现其漏洞进行攻击,以获取权限和其他利益。 ...

  • url是什么文件

    URL是(Uniform Resource Locator,统一资源定位符)的缩写,它是WWW的统一资源定位标志,就是指网络地址。URL是文件的网络地址,相当于人的住址,每一个网络资源都有固定且唯一的 ...

  • 在CentOS系统下安装SVN服务器的教程

    Subversion支持linux和windows,更多是安装在linux下. svn服务器有2种运行方式:独立服务器和借助apache.2种方式各有利弊. svn存储版本数据也有2种方式:BDB和F ...

  • 在CentOS系统下创建和配置虚拟用户的方法

    一.下载当前vsftp最新版本 代码如下: wget ftp://vsftpd.beasts.org/users/cevans/vsftpd-2.3.4.tar.gz 二.安装前准备 1.创建虚拟用户 ...

  • 在CentOS服务器上配置NTP服务器的教程

    网络时间协议(NTP)用来同步网络上不同主机的系统时间.你管理的所有主机都可以和一个指定的被称为 NTP 服务器的时间服务器同步它们的时间.而另一方面,一个 NTP 服务器会将它的时间和任意公共 NT ...

  • ART模式

    何为ART模式 ART模式英文全称为:Android runtime,谷歌Android 4.4系统新增的一种应用运行模式,与传统的Dalvik模式不同,ART模式可以实现更为流畅的安卓系统体验,对于 ...