代码签名证书是提供软件开发者可以进行代码软件数字签名的认证服务。通过对代码的数字签名可以减少软件下载时弹出的安全警告,保证代码完整性和不被恶意篡改,使厂商信息对下载用户公开可见,从而建立良好的软件品牌信誉度。
用户在线下载软件、应用程序、安装插件时,必须确信该代码是真实可信、没有受感染或被篡改过。代码签名机制就是通过数字签名技术和身份认证技术,为软件代码附上可信身份证明并保护代码完整性,防止软件代码被仿冒或篡改。
选购增强级(EV)代码签名证书具有以下优点
代码签名采用公钥加密技术结合哈希算法实现。软件开发商在自己电脑上生成私钥 (。pvk) 和证书请求文件 (CSR) 提交给CA机构,CA机构按国际标准要求验证软件开发商真实身份后签发代码签名证书。
软件开发商使用代码签名工具为代码生成哈希值,使用私钥加密哈希值生成签名摘要,将公钥(证书)、签名摘要和软件代码一起打包生成已签名的软件代码,将已签名代码发布到网络中。终端用户下载时,可通过系统受信任根证书列表验证公钥(证书)的有效性和合法性,确认代码来自真实可信的软件开发商;公钥解密签名摘要中的哈希值与新生成的哈希值进行比对,哈希摘要一致,表明软件代码在传输过程中没有被篡改,验证代码完整性。
申请的每个代码签名证书都有具体的有效期限。只要是在代码签名证书的有效期内,就可以随时使用它对代码进行签名。代码签名证书到期后,则基于该证书的所有数字签名也均到期。所以,数字签名必须包含时间戳,时间戳选项显示代码的签名时间,让客户可以验证该代码签名证书在进行数字签名时是否有效,即使代码签名证书过期,之前签名的代码仍然可以验证。
代码签名证书在获取后可用于任何计算机。但是,必须通过同一台计算机申请并获取代码签名证书。如果您在获取时出现问题,请确认您使用的是注册时所用的计算机、浏览器以及登录配置文件。为了提高安全性和改善管理,建议开发商申请多个代码签名证书,而不是共享证书。如果证书因遭到破坏而必须被吊销,则由该证书签名的所有应用程序都将被禁用。
终端用户下载已签名的软件代码后,可通过查看软件属性中的数字签名栏查看证书,确认软件开发者的真实身份。操作系统根据已有的受信任根证书列表验证用于数字签名的证书是否合法有效,如果证书不合法或已失效,操作系统会给予提示。
运行软件代码时,操作系统也会自动验证该软件代码是否含有有效的数字签名,没有有效数字签名的软件,系统会发出”发布者未知”的警告,让终端用户谨慎安装。
如果私钥丢失或受损,或者您的信息发生变化,那么您应该立即吊销代码签名证书,然后申请一张新的代码签名证书取代。
代码签名证书主要用于证明软件开发者身份及验证软件代码完整性,无法确保签名软件直接过白,杀毒软件会根据自己的白名单策略对软件代码进行检测。
代码签名是确保软件发布环境安全可信的有效机制,严禁任何用户使用代码签名证书为间谍软件、流氓软件和黑客软件等进行数字签名。否则,一经举报和查实,沃通有权立即吊销证书。使用代码签名证书签名软件之前使用知名的杀毒软件查一下是否有毒或有恶意代码,否则有可能在不知情的情况下由于签名了恶意软件而使得证书被吊销。