微软代码签名
2018-10-18WoSign个人代码签名证书(多用途版)使得软件开发者能对其开发的软件代码(包括内核代码)进行数字签名,能确保用户通过互联网下载时能确信此代码没有被非法篡改和来源可信,从而保护了代码的完整性、保护了用户不会被病毒、恶意代码和间谍软件所侵害,当然也就保护了软件开发商的利益,使得软件开发商能安全地快速地通过网络发布软件。
本使用指南演示如何使用 WoSign微软代码签名证书 来给Windows平台代码签名,签名工具为WDK自带的签名工具软件 SignTool.exe,此签名工具软件仅支持DOS命令符方式签名。如果您希望使用图形化界面签名您的代码,则建议使用老版本的签名工具 SignCode.exe,并请参考 SignCode微软代码签名指南。
本指南针对已经购买了WoSign/Thawte/VeriSign 微软代码签名证书,还需要用此代码签名证书来签名Java JAR文件而编写,如果您还没有签名工具,请到SUN公司网站免费下载:http://java.sun.com/j2se/,推荐下载JDK1.4.2或以上版本,支持Solaris SPARC/x86, Linux86 和 Windows 操作系统。
申请界面如下图1所示,在线填写接收证书电子邮箱、软件发行者名称、单位名称等信息,并选择购买证书年限,再点击“提交申请”,会出现一个警告提示,点击“是”即可生成私钥文件和提交证书请求文件,并提示申请成功,等待WoSign颁发证书。
从微软网站上有关文档可以看出:为了 Windows 操作系统的稳定和安全,没有签名的驱动是不允许运行的。所以,硬件厂商和相关软件开发商都需要申请相关的代码签名证书来数字签名其驱动代码。但不同的驱动类型对证书的要求是不同的
Windows内核代码签名为强制要求,所有内核软件都必须使用微软指定的交叉签名根证书签发的代码签名证书来进行数字签名。
在这个难以获得信任的世界里,问自己一个重要的问题。我们如何知道我们正在运行的应用程序或正在部署的集成系统或正在交付给客户的代码是真实的呢?我们怎么知道它有没有被篡改过呢?
代码签名证书(Code Signing Certificates)是针对程序代码和内容建立的一种数字化验证和保护的安全数字证书,是用来标识软件或代码的来源以及软件开发者真实身份的一种解决方案。
为了提高证书安全性,提前为未来先进技术做好准备,作为全球网络安全行业国际组织,CA/B论坛发布了如下通知:从2021年6月1日起,代码签名证书的最小密钥长度将从2048位增强至3072位。
使用Microsoft Authenticode进行代码签名的流程
如果您在Windows SDK版本低于7.0的Windows Vista机器上利用代码签名证书进行签名代码,则可以使用数字签名向导GUI。向导GUI已在Windows SDK 7.0 中删除,并要求您在命令行上使用 signtool.exe。如果您有版本6或更低版本的Windows SDK,您可以按照以下说明进行操作。
我们生活在一个依赖大量代码的数字化世界中,软件几乎应用在我们生活和工作的方方面面,而软件的安全也是我们比较关心的问题。利用代码签名证书对软件进行签名成为当下保护软件安全的重要手段之一。
如果代码分发在网络上,则可能会受到侵害。代码可能会在到达用户前被黑客攻击、被其他开发人员盗用,或者因为“身份不明的发布者”警告吓跑您的客户,导致无人安装。幸运的是,利用代码签名证书可以轻松地保护您的代码免遭这些问题和其他问题的困扰,从而保护您的客户。