您的位置:首页 > 编程语言

开发者必备:支持双证书签名的代码签名工具WoSignCode

2015-11-11 16:14 399 查看
如果您是一个软件开发者,最近可能都遇到一个棘手的问题,SHA1签名算法即将被微软新版操作系统弃用,SHA2签名算法却不兼容老版本操作系统。如何让自己的软件在各个版本Windows系统通行,成了软件开发者急需解决的难题。本文推荐一款工具,可以给软件代码附上SHA1、SHA2两种签名算法,让软件在所有Windows系统都能通行。


为什么需要数字签名?

首先,先科普一下,为什么需要数字签名?如果你是软件开发人员,你可能已经知道windows系统和一些浏览器(例如IE,Firefox)使用一种称为数字认证代码(Authenticode)的技术来标识软件的发行商,来检查软件没有被病毒影响。软件开发者会在软件发行前,使用代码签名工具和代码签名证书为软件代码添加数字签名,未使用数字签名的软件可能无法正常运行。

以Windows系统为例,如果用户下载运行未签名的软件,Windows系统会发出红色安全警告;而未签名的ActiveX控件,Windows会直接拦截不允许运行。因此,数字签名是软件发行前必不可少的一道工序。


SHA1退休,给软件开发者留下难题

安全哈希算法(Secure Hash Algorithm,简称SHA)是用于数字签名的散列算法。其中包含了SHA-1,SHA-224,SHA-256,SHA-384,和SHA-512这几种单向散列算法,SHA-224、SHA-256、SHA-384,和SHA-512并称为SHA-2.

SHA1签名算法的安全性正逐年降低,极有可能被破解。国际标准组织要求全球CA机构于2015年12月31日之后,停止签发SHA1签名算法的各种证书。微软Win7及其以上版本操作系统将在2016年1月1日起,不再信任采用SHA1算法签名的软件代码,以此敦促软件开发者尽快向SHA2算法迁移,但是Windows XP、Vista等老版本操作系统并不支持SHA2算法的代码签名验证,我国却仍有300万Windows XP SP2用户仍然不支持SHA-2签名算法。这给软件开发者出了个难题:使用SHA1算法意味着要放弃Win7及以上新版本用户群;使用SHA2算法又意味着要放弃XP等老版本用户群;如果分两个版本发布软件,运营推广成本将成倍增长。如何让同一份软件代码,同时支持所有版本的Windows操作系统呢?


支持双证书签名的代码签名工具

WoSignCode代码签名精灵”完美解决了这一难题,让软件开发者能在同一份软件代码上,附上SHA1和SHA2两个签名算法。用户下载软件后,无论在哪个版本的Windows操作系统上运行,都能受操作系统信任,不会出现安全警告和系统拦截!

更重要的是,开发这款代码签名工具的CA机构沃通(WoSign),还同步推出了“双证书服务”,用户申请一张沃通代码签名证书,系统默认签发两张证书(分别采用SHA1和SHA2签名算法)给用户,只需花一份钱得到两种签名算法的证书。不用增加成本,就可以为软件代码实现双证书签名,彻底解决Windows新老版本签名算法的兼容性问题。



据说,WoSign代码签名证书还列入了微软官方推荐购买列表,在Windows硬件开发人员中心“获取代码签名证书”栏目向全球Windows开发者推荐,有需要的可以到微软官网推荐列表里购买,或者到沃通数字证书商店在线购买。


WoSignCode与其他签名工具对比

与微软提供的SigntoolSigncode两款数字签名工具相比,WoSignCode功能全面、简单易用,支持双证书签名、支持批量签名。

Signtool命令行工具要求用户有一定的DOS命令使用基础,签名软件时需要手工键入命令,比较繁琐;Signcode虽然有可视化界面,但是每次只能签名一个文件,不支持批量签名,签名多个软件时必须重复操作;此外,这两款工具都不支持SHA1、SHA2双证书签名。为避免AD嫌疑,此处不列下载地址啦,自行搜索“沃通WoSignCode代码签名工具”吧。



WoSign还提供免费时间戳服务,支持微软Authenticode技术和国际标准RFC3161两个时间戳标准,可同时支持Windows XP和Windows 7系统。签名任何代码时一定要记得加上免费时间戳,确保证书过期后软件代码的数字签名仍然有效。

支持微软的Authenticode技术的免费时间戳服务网址为:
http://timestamp.wosign.com/timestamp
支持国际标准RFC3161的免费时间戳服务网址为:
http://timestamp.wosign.com/rfc3161
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: