10个代码签名证书相关常见问题
发布日期:2018-12-14什么是代码签名证书?
代码签名证书是提供给软件开发者,对其开发的软件代码进行数字签名的数字证书,用于验证开发者身份真实性、保护代码的完整性。用户下载软件时,能通过数字签名验证软件来源可信,确认软件没有被非法篡改或植入病毒木马,保护用户不会被病毒、恶意代码和间谍软件所侵害,也保护了软件开发者的利益,让软件能在互联网上快速安全地发布。
为什么软件需要代码签名?
用户在线下载软件、应用程序、安装插件时,必须确信该代码是真实可信、没有受感染或被篡改过。代码签名机制就是通过数字签名技术和身份认证技术,为软件代码附上可信身份证明并保护代码完整性,防止软件代码被仿冒或篡改。
为了确保用户安全,操作系统也对软件代码签名提出要求,未使用数字签名的软件可能无法正常运行。以Windows系统为例,如果用户下载运行未签名的软件,Windows系统会发出安全警告;而未签名的ActiveX控件,Windows会直接拦截不允许运行。因此,数字签名是软件发行前必不可少的一道工序。
图释:无带代码签名和EV代码签名运行效果
应该选择哪种代码签名证书?
沃通CA提供全线多用途代码签名证书,按验证级别分为单位代码签名证书和EV 代码签名证书。EV代码签名证书和单位代码签名证书都需要对开发软件的企业单位进行真实身份验证。而不同之处在于:
单位代码签名证书仅验证基本的单位信息,可用于普通的代码签名应用场景,支持签名 Windows内核代码 .sys, .cat 和 其他代码 .exe, .dll, .cab, .ocx( ActiveX )等文件数字签名,而且支持XML 文件数字签名、Adobe AIR的打包文件 .air, .airi等文件数字签名、Silverlight应用加密签名(.xap)、微软Office VBA宏数字签名等等。
EV代码签名证书具有单位代码签名证书的所有功能,但采用更加严格的国际标准扩展验证单位真实身份,并采用更加严格的私钥保护机制——使用硬件 USB Key存储私钥,以防止证书私钥被非法盗用,确保证书私钥安全,可用于Win10 内核驱动签名、Windows硬件认证、建立Windows开发者中心仪表板账号、获得SmartScreen即时信誉等更加广泛的应用场景。
沃通提供的EV代码签名证书(DigiCert)获得微软官方推荐,能帮助您签名的代码在Windows SmartScreen®中快速建立自己的声誉,获得微软智能屏幕过滤器的即时信誉,支持Windows 8和8.1、IE9、10和11立刻获得信用;支持Windows 10 内核驱动签名,同时也兼容了Windows Mobile、标准的代码签名签名、内核签名、Office签名、VBA签名、Adobe签名等等;还支持微软Windows logo 徽标认证(Windows 硬件认证),可以用它建立Windows开发人员中心硬件仪表板账号,快速开通企业认证账号。
代码签名的工作原理
代码签名采用公钥加密技术结合哈希算法实现。软件开发商在自己电脑上生成私钥 (.pvk) 和证书请求文件 (CSR) 提交给CA机构(如:沃通CA),CA机构按国际标准要求验证软件开发商真实身份后签发代码签名证书。软件开发商使用代码签名工具(如:WoSignCode.exe)为代码生成哈希值,使用私钥加密哈希值生成签名摘要,将公钥(证书)、签名摘要和软件代码一起打包生成已签名的软件代码,将已签名代码发布到网络中。终端用户下载时,可通过系统受信任根证书列表验证公钥(证书)的有效性和合法性,确认代码来自真实可信的软件开发商;公钥解密签名摘要中的哈希值与新生成的哈希值进行比对,哈希摘要一致,表明软件代码在传输过程中没有被篡改,验证代码完整性。
数字签名有效期持续多长时间?
申请的每个代码签名证书都有具体的有效期限。只要是在代码签名证书的有效期内,就可以随时使用它对代码进行签名。代码签名证书到期后,则基于该证书的所有数字签名也均到期。所以,数字签名必须包含时间戳,时间戳选项显示代码的签名时间,让客户可以验证该代码签名证书在进行数字签名时是否有效,即使代码签名证书过期,之前签名的代码仍然可以验证。
可以将代码签名证书安装在多台电脑上吗?
代码签名证书在获取后可用于任何计算机。但是,必须通过同一台计算机申请并获取代码签名证书。如果您在获取时出现问题,请确认您使用的是注册时所用的计算机、浏览器以及登录配置文件。为了提高安全性和改善管理,建议开发商申请多个代码签名证书,而不是共享证书。如果证书因遭到破坏而必须被吊销,则由该证书签名的所有应用程序都将被禁用。
用户如何知道我的签名是否可信?
终端用户下载已签名的软件代码后,可通过查看软件属性中的数字签名栏查看证书,确认软件开发者的真实身份。操作系统根据已有的受信任根证书列表验证用于数字签名的证书是否合法有效,如果证书不合法或已失效,操作系统会给予提示。
运行软件代码时,操作系统也会自动验证该软件代码是否含有有效的数字签名,没有有效数字签名的软件,系统会发出“发布者未知”的警告,让终端用户谨慎安装。
如果我的私钥丢失或受损该怎么办?
如果私钥丢失或受损,或者您的信息发生变化,那么您应该立即吊销代码签名证书,然后申请一张新的代码签名证书取代。
使用代码签名证书签名的软件可以直接过白吗?
代码签名证书主要用于证明软件开发者身份及验证软件代码完整性,无法确保签名软件直接过白,杀毒软件会根据自己的白名单策略对软件代码进行检测。
代码签名证书可以用来签任何软件吗?
代码签名是确保软件发布环境安全可信的有效机制,严禁任何用户使用代码签名证书为间谍软件、流氓软件和黑客软件等进行数字签名。否则,一经举报和查实,沃通有权立即吊销证书。使用代码签名证书签名软件之前使用知名的杀毒软件查一下是否有毒或有恶意代码,否则有可能在不知情的情况下由于签名了恶意软件而使得证书被吊销。
以上,是为大家分享的“10个代码签名证书相关常见问题”的全部内容,如果用户遇到的问题不能解决,可通过wosign官网客服寻求帮助,凡是选择wosign ssl证书的网站用户,wosign可提供免费一对一的ssl证书技术部署支持,免除后顾之忧。
相关内容
什么是哈希算法?SHASHA-1,SHA-2哈希算法之间的差异
今天要为大家介绍的是哈希算法,在介绍SHA之前,只有了解什么是SHA,我们才清楚SSL证书如何使用哈希来形成数字签名。那么什么是哈希呢? HASH算法将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值。
SHA1是一种密码散列函数,由美国国家安全局设计,主要适用于数字签名标准里面定义的数字签名算法。对于长度小于2^64位的消息,SHA1会产生一个160位的消息摘要。当接收到消息的时候,这个消息摘要可以用来验证数据的完整性。在传输的过程中,数据很可能会发生变化,那么这时候就会产生不同的消息摘要。