了解代码签名和驱动签名那些事儿
一、什么是代码签名?代码签名是软件开发人员使用代码签名证书对其开发的可执行脚本、软件代码和内容进行数字签名的过程。经签名后的软件能让用户通过数字签名验证开发者身份的真实性和代码的完整性,确认软件、代码没有被非法篡改或植入病毒,让其可以放心下载和使用。二、代码签名证书支持签署哪些文件类型?代码签名证书可以签署多种类型的文件,比如可执行文件、应用程序和插件、Java、MS Office Macro和VBA、Mozilla对象文件以及Microsoft Silverlight应用程序等,主要包括但不限于.exe, .dll, .cab, .ocx,.msi,.xpi等文件格式。三、代码签名证书的作用1、标识可信来源。CA会验证软件开发者的真实身份,经代码签名的软件将标识软件或代码的来源,确保软件是来源于可信企业。2、确保代码完整性。利用数字签名及公钥私钥技术来确保代码完整性,有效防止代码被恶意篡改。即使经签名的软件被修改,也会立即弹出警告提示。3、消除未知发行商警告。直接显示发行商企业信息,标识其软件来源,有利于获得用户的信任,让用户可以放心下载。4、利于软件分发。经过数字签名的软件应用程序可正常上架到苹果APP、谷歌play、腾讯应用商店、360软件等应用平台。四、什么是驱动签名?驱动签名是针对硬件设备驱动程序的数字签名,类似于代码签名,但它专门用于认证驱动程序的签发者身份。驱动程序的发行机构或硬件产品生产商需要为驱动程序申请微软的WHQL认证,从而获得数字签名。有了数字签名的驱动操作系统会认为它是安全的、稳定的、有版权的驱动,安装的时候也会明显更顺畅,可以让用户放心加载使用。备注:微软从2021年4月底开始不再接受代码签名证书给驱动程序进行数字签名,取而代之的是需要对驱动程序做WHQL认证。