SSL

如何选择代码签名证书

代码签名证书选择和常见问题

代码签名证书是提供软件开发者可以进行代码软件数字签名的认证服务。通过对代码的数字签名可以减少软件下载时弹出的安全警告,保证代码完整性和不被恶意篡改,使厂商信息对下载用户公开可见,从而建立良好的软件品牌信誉度。

为什么软件需要代码签名?

用户在线下载软件、应用程序、安装插件时,必须确信该代码是真实可信、没有受感染或被篡改过。代码签名机制就是通过数字签名技术和身份认证技术,为软件代码附上可信身份证明并保护代码完整性,防止软件代码被仿冒或篡改。

应该选择哪种代码签名证书?

选购增强级(EV)代码签名证书具有以下优点

  • 增强级(EV)代码签名证书在标准代码签名证书已有的优点基础上,可以提供更强有力的保障,保证发布者的身份无误且已通过认证。
  • 支持 Windows10 内核驱动签名
  • 严格的审核过程能够核实更多关于发布者的信息,使假冒合法开发商和获取伪造证书的难度增大。
  • 证书储存在USB身份锁上可以降低被盗用的风险。
  • 在Windows8/Windows10中为您的软件带来SmartScreen应用程序信誉功能
  • 支持32位和64位 .exe, .dll, .cab, .ocx(ActiveX),.msi等文件数字签名
  • 支持微软硬件仪表盘WHQL徽标认证账户注册登录
  • 权威时间戳服务可显示程序的签名时间

选购标准型代码签名证书具有以下优点

  • 标准型代码签名证书可以保证发布者的身份无误且已通过认证。
  • 严格的审核过程能够核实更多关于发布者的信息,使假冒合法开发商和获取伪造证书的难度增大。
  • 证书储存在USB身份锁上可以降低被盗用的风险。
  • 获得微软智能屏幕过滤器的即时信誉可以去除终端用户收到的提示应用软件可能为恶意软件的警告信息

代码签名的工作原理

代码签名采用公钥加密技术结合哈希算法实现。软件开发商在自己电脑上生成私钥 (。pvk) 和证书请求文件 (CSR) 提交给CA机构,CA机构按国际标准要求验证软件开发商真实身份后签发代码签名证书。

软件开发商使用代码签名工具为代码生成哈希值,使用私钥加密哈希值生成签名摘要,将公钥(证书)、签名摘要和软件代码一起打包生成已签名的软件代码,将已签名代码发布到网络中。终端用户下载时,可通过系统受信任根证书列表验证公钥(证书)的有效性和合法性,确认代码来自真实可信的软件开发商;公钥解密签名摘要中的哈希值与新生成的哈希值进行比对,哈希摘要一致,表明软件代码在传输过程中没有被篡改,验证代码完整性。

数字签名有效期持续多长时间?

申请的每个代码签名证书都有具体的有效期限。只要是在代码签名证书的有效期内,就可以随时使用它对代码进行签名。代码签名证书到期后,则基于该证书的所有数字签名也均到期。所以,数字签名必须包含时间戳,时间戳选项显示代码的签名时间,让客户可以验证该代码签名证书在进行数字签名时是否有效,即使代码签名证书过期,之前签名的代码仍然可以验证。

可以将代码签名证书安装在多台电脑上吗?

代码签名证书在获取后可用于任何计算机。但是,必须通过同一台计算机申请并获取代码签名证书。如果您在获取时出现问题,请确认您使用的是注册时所用的计算机、浏览器以及登录配置文件。为了提高安全性和改善管理,建议开发商申请多个代码签名证书,而不是共享证书。如果证书因遭到破坏而必须被吊销,则由该证书签名的所有应用程序都将被禁用。

用户如何知道我的签名是否可信?

终端用户下载已签名的软件代码后,可通过查看软件属性中的数字签名栏查看证书,确认软件开发者的真实身份。操作系统根据已有的受信任根证书列表验证用于数字签名的证书是否合法有效,如果证书不合法或已失效,操作系统会给予提示。

运行软件代码时,操作系统也会自动验证该软件代码是否含有有效的数字签名,没有有效数字签名的软件,系统会发出”发布者未知”的警告,让终端用户谨慎安装。

如果我的私钥丢失或受损该怎么办?

如果私钥丢失或受损,或者您的信息发生变化,那么您应该立即吊销代码签名证书,然后申请一张新的代码签名证书取代。

使用代码签名证书签名的软件可以直接过白吗?

代码签名证书主要用于证明软件开发者身份及验证软件代码完整性,无法确保签名软件直接过白,杀毒软件会根据自己的白名单策略对软件代码进行检测。

代码签名证书可以用来签任何软件吗?

代码签名是确保软件发布环境安全可信的有效机制,严禁任何用户使用代码签名证书为间谍软件、流氓软件和黑客软件等进行数字签名。否则,一经举报和查实,沃通有权立即吊销证书。使用代码签名证书签名软件之前使用知名的杀毒软件查一下是否有毒或有恶意代码,否则有可能在不知情的情况下由于签名了恶意软件而使得证书被吊销。