分类
公司新闻

代码签名证书私钥保护升级措施延期通知

CA/B论坛最新消息,原定于2022年11月15日起执行的代码签名证书私钥保护升级措施,将延期至2023年6月1日,期间用户可在天威诚信继续按照现有规则申请和使用代码签名证书

此次变更旨在加强对代码签名证书私钥的保护。按CA/B论坛规定,2023年6月1日以后,普通(OV)代码签名证书密钥对必须在达到FIPS 140-2 Level2 或EAL4+通用标准以及更高标准的硬件加密模块中生成并存储。

具体变更方式如下:

变更前:对于普通代码签名证书,天威诚信获取到用户的CSR后,将其提交至CA进行数字签名后生成证书,再通过邮件的方式将证书发送给用户,无需硬件介质。

变更后:自2023年6月1日起,购买普通代码签名证书将和EV代码签名证书一样,证书由天威诚信签发并存储在预配置的USB Key上,再通过邮寄的方式将USB Key寄送给用户。

需要注意的是,此次升级只针对普通(OV)代码签名证书。EV代码签名证书及2023年6月1日前签发的普通代码签名证书不受影响。

同时,已经使用代码签名证书或EV代码签名证书签名且加盖时间戳的软件不受影响并长期有效。

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

可以预见的是,代码签名私钥存储新规开始执行后,OV代码签名证书将从“软证书”变为“硬证书”,更有助于降低私钥泄漏的可能性。

为避免此次代码签名证书私钥保护升级带来的不便,天威诚信提醒有需要的用户提前做好计划和工作安排,天威诚信可为用户提供各主流厂商的代码签名证书以及相应的USBkey寄发和更换服务。

分类
知识中心

代码签名如何工作?

代码签名有几个步骤,从创建唯一密钥对开始。创建的密钥对是公钥-私钥对,因为代码签名使用公钥加密。创建密钥对后,公钥将发送到受信任的证书颁发机构或 CA,该证书颁发机构通过向软件开发人员返回公钥以及经过数字签名的代码签名证书来验证密钥是否属于所有者。CA 是高度受信任的实体,负责签名和生成数字证书。CA 返回的带有附加公钥的证书确认了开发人员及其创建的任何软件的可信度。

现在已返回公钥和数字代码签名证书,软件的代码将通过哈希函数运行。哈希函数是一个单向函数,它将放入函数中的文本转换为无法反转的值的任意混合。这提供了一个值,用于与将数据发送给使用者时进行比较。然后,输出或摘要由私钥加密。私钥用于加密而不是公钥的原因是,开发人员希望任何人都能够读取消息,但没有人能够篡改它。摘要、代码签名证书和哈希函数现在被组合成一个签名块,并放入软件中,然后发送给消费者。

收到软件后,消费者的计算机首先检查代码签名证书的真实性。一旦确认了真实性,摘要就会使用最初创建的密钥对的公钥进行解密。然后,在软件的代码上使用哈希函数,并将生成的摘要与开发人员发送的摘要进行比较。如果摘要匹配,则软件可以安全安装。

分类
知识中心

赛门铁克(VeriSign)代码签名证书给您带来的好处

赛门铁克VeriSign)代码签名证书说简单点就是对网上发布控件、应用程序、驱动程序等实现数字签名,保证程序文件来源真实可靠和内容的完整性。举个简单的例子,你通过网上发布一个程序文件,很可能在传播过程中被某些人植入不良代码,但安装者并不知道软件在发出后到送到你手中这个过程是否被修改,所以安装者会选择宁可不安装。为了避免这一情况,你需要在软件发出前给软件签个名字,证明软件是你亲自发出的,同时价格包装将软件包起来不让其他人员修改,一旦修改收件人可以立刻识别出来包装已经损坏。上述所属就是赛门铁克(VeriSign代码签名证书的重要意义,为程序软件打个包签个名。

开发商所发行的代码程序或内容若通过代码签名验证可提升软件的下载、采用率和发行率。

减少代码程序及内容出现错误讯息和安全性警告,建立品牌的信任关系。

防止使用者下载到含有恶意档案的代码程序及内容。

终端使用者透过互联网和行动网络下载、安装代码程序和内容时,由系统跳出开发者的信息,大幅提高安全性。

确保终端用户知道该软件是合法的,且该代码自发行以来没有被篡改过。

赛门铁克(VeriSign)代码签名证书可消除 Internet Explorer 以及 Windows 操作系统中弹出的不明发行商。

分类
知识中心

数字签名解决无法证明报文完整性

所谓完整性是指信息的准确度。若无法证明其完整性,通常也就意味着无法判断信息是否准确。

接收到的内容可能有误

由于HTTP协议无法证明通信的报文完整性,因此,在请求或响应送出之后直到对方接收之前的这段时间内,即使请求或响应的内容遭到篡改,也没有办法获悉。

换句话说,没有任何办法确认,发出的请求/响应和接收到的请求/响应是前后相同的。

比如,从某个Web网站上下载内容,是无法确定客户端下载的文件和服务器上存放的文件是否前后一致的。文件内容在传输途中可能已经被篡改为其他的内容。即使内容真的已改变,作为接收方的客户端也是觉察不到的。

像这样,请求或响应在传输途中,遭攻击者拦截并篡改内容的攻击称为中间人攻击(Man-in-the-Middle attack,MITM)。

如何防止篡改

虽然有使用HTTP协议确定报文完整性的方法,但事实上并不便捷、可靠。其中常用的是MD5和SHA-1等散列值校验的方法,以及用来确认文件的数字签名方法。

提供文件下载服务的Web网站也会提供相应的以PGP(Pretty Good Privacy,完美隐私)创建的数字签名及MD5算法生成的散列值。PGP是用来证明创建文件的数字签名,MD5是由单向函数生成的散列值。不论使用哪一种方法,都需要操纵客户端的用户本人亲自检查验证下载的文件是否就是原来服务器上的文件。浏览器无法自动帮用户检查。

可惜的是,用这些方法也依然无法百分百保证确认结果正确。因为PGP和MD5本身被改写的话,用户是没有办法意识到的。

为了有效防止这些弊端,有必要使用HTTPSSSL证书提供认证和加密处理及摘要功能。仅靠HTTP确保完整性是非常困难的,因此通过和其他协议组合使用来实现这个目标。下节我们介绍HTTPS的相关内容。

分类
知识中心

VeriSign数字签名证书应用程序安全解决方案

VeriSign 数字签名门户可帮助您在保障网络和客户安全的前提下,同时兼顾创新和产品上市速度。

 

移动网络提供商纷纷借助更快的网络、更智能的设备和更具竞争力的应用程序展开激烈竞争,以争取用户和提高收入。移动网络运营商已转向不断发展的全球开发人员社区,向客户讲明使用其移动设备的更多理由。然而,存在缺陷或恶意的代码不仅会中断用户的服务,而且会将整个网络置于风险当中。

 

数字签名如何为移动网络提供商提供帮助.通过移动网络下载的软件,无论用户知情与否,总会带来一定的风险。在传统软件销售过程中,购买者可通过检查包装确认应用程序的来源及其完整性。VeriSign 数字签名创建了数字化的“保护膜”,可以显示代码的来源,并确认代码自签名以来从未修改过。VeriSign 数字签名门户让移动网络提供商可在代码到达其网络之前控制测试和审批过程。

 

确保访问来自经过审批的已知源的应用程序.根据 VeriSign 数字签名门户的要求,开发商只有通过了成熟严格的验证流程才能获得发行商 ID。开发商使用该发行商 ID 对代码进行签名,然后将其上载到 VeriSign 数字签名门户。VeriSign 可验证发行商签名,然后去除发行商的数字签名,生成新的密钥对,对其内容进行签名,然后将其连同新生成的供在发行商平台可靠使用的唯一内容 ID 发送回发行商。移动网络运营商如果要求开发商使用专用门户对其代码进行签名,那么用户访问的便是经过验证的已知源创建的应用程序。

 

融测试于审批过程中要在移动市场取得成功,需要通过不断地创新来争取用户和充分利用能创收的数据服务。网络提供商和移动平台供应商若将 VeriSign 数字签名融入其审批流程中,则可简化开发流程,从而加快产品上市速度。应用程序上载后,审查人员可以通过网络轻松访问应用程序的数字签名,从而加快审批速度。发行商 API 让开发商可以直接将 VeriSign 数字签名集成到其构建过程中。

 

更有效的控制,更全面的防护使用传统数字签名证书时,开发商都是使用同一数字签名对所有代码进行签名。如果发现存在缺陷的代码或恶意代码,则必须吊销该证书,而所有使用该数字签名的代码都将无效。

 

VeriSign 数字签名门户按照两步签名流程针对每一次数字签名事件创建唯一的数字签名。每个应用程序都有唯一的数字签名,所以,在跟踪和吊销某个数字签名时,不会影响对该开发商发布的其他代码和内容的访问。这样,网络运营商就可以对网络实施更严密的控制,实现更全面的网络防护,同时又可以推动创新。

分类
知识中心

使用VeriSign数字签名证书对程序签名的5个理由

1. 可基于更多平台,让您最大限度地提高分发量和收入

两大趋势使数字签名比以往更重要: 一是移动和桌面设备个人用户应用程序呈爆炸性增长,二是恶意软件激增。越来越多的软件发行商和移动网络提供商要求提供来自受信任的证书颁发机构 (CA) 的数字签名,否则不接受分发的代码。VeriSign 数字签名比其他任何数字签名提供商支持的平台都要多。VeriSign 是 Windows Phone、AT&T Developer Program、Java Verified 和 Symbian Signed 应用程序的可靠数字签名提供商之一。

2. 依靠受信任的证书颁发机构 (CA) 减少安全警告

VeriSign 根证书的普及程度无人可比。我们的根证书已预装在大多数设备上,并内置到了大多数应用程序中。如使用 VeriSign 数字签名证书,系统会自动接受您的代码,便于代码的无缝下载。如果万一出现安全警告,则很有可能是建议您信任代码,因为它为 VeriSign 所信任。(是否出现安全警告取决于平台、应用程序和客户端的安全设置)。

3. 保护您的代码完整性和您的信誉

数字签名包含内容完整性证明,这样,可以防止代码在未经批准的情况下被修改和分发。如果对应用程序进行签名时所用的哈希值与下载的应用程序的哈希值匹配,则说明该代码的完整性未受破坏。如果使用的哈希值不匹配,那么用户将收到安全警告,或无法下载该代码。VeriSign 数字签名证书包括一个可选的时间戳,用于延长数字签名的有效期。即使数字签名证书过期了,代码依然有效,这是因为在数字签名时可以验证该数字签名证书的有效性。

4. 通过简化安全保障,加快产品上市速度

VeriSign 的网络门户和 API 集成可让您轻松管理数字签名并将其集成到开发流程中。简化的安全保障有助于加快产品的上市速度,同时保护代码完整性,减少安全警告。与其他任何 CA 相比,采用 VeriSign 的开发商和发行商更多。事实上,70% 的数字签名用户都选择了 VeriSign。

5. 确保让客户获得安全可靠的体验

VeriSign 有助于实现无缝的用户体验,它能最大限度减少安全警告和安装故障,同时能最大限度提高代码分发量和创造收入机会。对您的代码进行签名可确保它不被篡改并确实是由您提供。使用 VeriSign 数字签名证书对您的代码进行签名,可以证明您受到数字签名安全领域领导者的信任,并确保您和您的客户获得安全可靠的体验。

分类
知识中心

VeriSign数字签名证书工作原理

与其他任何提供商相比,VeriSign 可以帮助您基于更多的平台向更多的客户提供您的应用程序和代码。与其他任何证书颁发机构 (CA) 相比,全球最受认可和信任的证书颁发机构 VeriSign 为更多的开发商和发行商所依赖。我们拥有出色的身份验证实践、公钥基础架构以及技术支持团队,可以确保您和您的客户获得安全可靠的体验。

数字签名如何保护您的知识产权和信誉

数字签名使用公钥加密技术保护和验证代码。
1、开发商使用数字签名证书中的唯一私钥向代码或内容中添加数字签名
2、用户下载或遇到已签名代码时,用户的系统软件或应用程序会使用公钥解密该签名。
3、系统查找含有它所信任或识别的 ID 的“根”证书,以验证该签名。
4、然后,将对该应用程序进行签名时所用的哈希值与下载的应用程序的哈希值进行比较。
5、如果系统信任该根证书且哈希值匹配,则继续下载或执行。
6、如果系统不信任该根证书或哈希值不匹配,那么系统会显示警告并中断下载过程,或下载过程失败。

 

自签名数字证书

自签名数字证书与签名者所拥有的根证书相关联。大多数情况下,您的根证书不适用于第三方软件和设备。代码下载失败或出现警告屏幕。

 

受信任的证书授权机构

如果您注册数字证书,那么 CA 将验证您的身份并颁发与该 CA 根证书相关的证书。应用程序和设备内置了信誉良好的知名 CA 的根证书。应用程序或设备只要信任根证书就会信任您。Symantec 根证书的普及程度无人可比。我们的根证书已预装在大多数设备上,并内置到了大多数应用程序中,为最终用户提供了安全的无缝安装过程

分类
知识中心

VeriSign数字签名证书常见问题解答

何为数字签名?我为何需要它?

客户在线下载应用程序,安装插件和附件或与复杂的网络应用程序进行交互时,他们必须要相信该代码是真实的,且未曾受感染或被改写过。在传统的软件销售过程中,购买者可通过检查包装确认应用程序的来源及其完整性。数字签名创建了数字式“保护膜”,可以向客户证明负责该代码的企业或个人的身份,并确认该代码自应用签名以来从未修改过。VeriSign 数字签名通过数据签名使您的应用程序易于确认且不易被伪造或破坏,进而保护您的品牌和知识产权。

我需要哪种数字签名证书?

VeriSign 数字签名比其他任何数字签名提供商支持的平台都要多。VeriSign 是 Windows Phone、AT&T Developer Program、Java Verified 和 Symbian Signed 应用程序的可靠数字签名提供商之一。选择适合您开发平台的 VeriSign 数字签名证书:VeriSign 数字签名证书

数字签名证书的工作原理为何?

代码和内容签名是基于公钥加密的。开发商或软件发行商使用私钥向代码或内容中添加数字签名。在下载过程中,软件平台和应用程序使用公钥解密该签名,并将对该应用程序进行签名时使用的哈希值与下载的应用程序的哈希值进行比较。系统可能自动接受信任源签名的代码,也可能发出安全警告,要求最终用户先查看该签名信息,然后决定是否信任该代码。

数字签名持续多长时间?

购买的每个数字签名证书都有具体的有效期限。只要是在数字证书的有效期内,就可以随时使用它对代码进行签名。数字证书到期后,则基于该数字证书的所有数字签名也均到期,除非该签名中包含时间戳。时间戳选项显示代码的签名时间,让客户可以验证该数字签名证书在进行数字签名时是否有效。

我可以将数字签名证书安装在多台电脑上吗?

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

他人如何知道可以信任我的签名?

对您的代码进行签名可确保它不被篡改并确实由您提供,但并不验证您的身份。软件系统、应用程序和移动网络依靠证书颁发机构的根证书确定数字签名的有效性。与自签名证书相比,第三方 CA 更受信任,原因在于证书申请者必须要经过审查或验证过程。VeriSign 根证书的普及程度无人可比。我们的根证书已预装在大多数设备上,并内置到了大多数应用程序中,为最终用户提供了安全的无缝安装过程。

我需要多少个数字签名证书?

为了提高安全性和改善管理,VeriSign 建议开发商另外购买数字签名证书,而不是共享证书。如果证书因遭到破坏而必须被吊销,则由该证书签名的所有应用程序都将被禁用。VeriSign 建议为每个开发平台购买一个数字签名证书。

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

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

分类
常见问题

代码签名证书常见应用

代码签名证书主要作用是为各种应用程序做数字签名,通过数字签名确保应用软件来源的真实性并防止篡改,在代码签名证书里会有证书申请公司的详细信息,所以通过该信息来确认软件是否是可信的。

一般常见的代码签名证书包括微软代码签名证书Java代码签名证书,还有宏代码签名证书等等,但是一般常用的代码签名证书为微软代码签名证书,Java代码签名证书于宏代码签名证书还有其他手机应用程序的代码签名证书都已经逐渐不再使用,尤其是Android与IOS手机系统的普及导致像过去的Java,Symbian,等等手机数字签名证书的没落,因为在Android与IOS的系统里都有自己的签名策略供软件商店里的应用做签名,一般都已经不在使用第三方的数字签名证书

现在应用最为广泛的还是微软代码签名证书,下面来具体介绍下微软代码签名证书。

微软认证代码签名证书主要的功能是为在Windows平台下发布的应用程序做数字签名,因为从Vista系统开始,Windows系统的安全性要求更为严格,当用户安装软件是,系统的UAC默认设置都会提示用户该软件是否安全,是否有数字签名等信息,如果没有做数字签名那么会提示该软件未经颁发者等信息提醒用户谨慎安装;还有当用户安装未经数字签名软件时杀毒软件同时也会提示该软件未经数字签名等等安全提示,甚至会提示该软件存在安全风险等提示,所以微软认证代码签名证书主要解决的问题便是这个系统提示,还有杀毒软件的安全提醒。

在Windows平台下所需要用到数字签名的应用程序一般分为,普通应用程序,驱动程序,网页插件程序等,如exe,dll,cab,msi,ocx,sys,cat等文件。

比较特殊的应用可以总结如下:

普通应用程序,普通应用程序只需要使用微软代码签名证书进行普通的签名即可;

驱动应用程序,如果是驱动应用程序的话,需要做微软要求的交叉签名证书,交叉签名证书在签名的时候会把微软的一张证书签到程序里,在验证的时候通过微软的该证书才可通过验证;驱动程序又分为内核驱动程序与硬件驱动程序,如果是内核驱动程序那么只需要简单的交叉签名证书即可,而如果是硬件驱动程序,那么除了需要有内核驱动程序签名还需要有微软徽标认证才可通过系统数字签名验证。

关于内核驱动程序,一个内核驱动程序,即使做了交叉签名,在Vista以上系统安装都可以显示出签名信息,并通过验证,但是在xp下面进行安装,仍然提示未经数字签名,这是因为在xp下面交叉签名证书无法通过验证,除非申请微软徽标认证,但是徽标认证一般只用于硬件驱动程序的申请,用于xp不值得,而且xp也基本被逐渐淘汰,所以xp内核驱动程序与硬件驱动程序只做普通的签名即可,因为即使做了交叉签名可能也没用。

关于硬件驱动程序,在Vista以上版本必须有微软交叉签名,然后在申请微软徽标认证,这样才可以完全消除安装时在客户端出现的各种不友好提示。

微软认证代码签名证书的种类与品牌

各个第三方CA证书颁发机构都有出售微软代码签名证书,其中市场占有率最高的为VeriSign(已被Symantec收购)。

微软代码签名证书的使用,都是使用微软Signtool程序进行数字签名,有命令行与可执行程序,微软网站上也有详细的命令参数。

分类
知识中心

如何为silverlight xap包进行数字签名

为什么要对silverlight xap包进行数字签名

silverlight OOB模式以最高权限运行时,有安全限制。如需要让本机安装的程序自动升级,则需xap包已经进行过数字签名。否则只能让用户手动删除再重新安装的方式进行升级。

使用什么格式数字签名证书进行签名

对xap包签名需要pfx数字签名证书文件。

如何制作pfx证书文件

打卡Visual Studio Tools里面的Visual Studio Command Prompt ,然后运行以下命令。

makecert.exe -r -n “CN=chuifeng” -b 01/01/2009 -e 12/31/2019 -sv c:\Demo\CbipSetupKey.pvk c:\Demo\CbipSetupKey.cer

cert2spc.exe c:\Demo\CbipSetupKey.cer c:\Demo\CbipSetupKey.spc

pvkimprt -pfx c:\Demo\CbipSetupKey.spc c:\Demo\CbipSetupKey.pvk

说明:pvkimprt.exe是证书导出工具。需要从微软网站下载:http://download.microsoft.com/download/vba50/Utility/1.0/NT5/EN-US/pvkimprt.exe。

cert2spc.exe测试工具通过一个或多个 X.509 证书创建发行者证书 (SPC)。Cert2spc.exe 仅用于测试目的。可以从证书颁发机构(如 VeriSign )获得有效的 SPC。

对xap包进行数字签名

右击silverlight项目Properties>Signing>select fron file