代码签名证书FAQ

 代码签名证书产品:

1. 驱动代码如何做数字签名?
驱动代码签名分为内核驱动和硬件驱动。

如果希望Windows直接允许安装驱动程序而没有任何警告,并且Vista / Windows7下可以通过联网自动更新最新的硬件驱动软件,则一定要申请微软徽标认证,使用 WHQL 签名。而申请微软徽标认证,首先则需要购买 VeriSign 支持微软徽标认证的代码签名证书;

如果您希望签名内核模式驱动(X64),但不想申请微软徽标认证,则只需申请 VeriSign 微软代码签名证书。请注意:请参考VeriSign 微软代码签名证书使用指南,签名时必须使用 signtool.exe签名工具,同时需要使用微软签发给VeriSign的交叉认证根证书来进行签名。

2. ActiveX控件在签名以后,仍然被IE浏览器默认安全级阻止而无法安装。
使用代码签名证书签名后的控件在运行时报“Internet Explorer已经阻止此站点用不安全方式使用ActiveX控件.因此,此页面可能显示不正确”。
这是因为该ActiveX控件没有标记为脚本安全,在IE默认安全级别设置中对没有标记为安全的ActiveX控件进行初始化和脚本运行的代码默认是被禁用的。如果要消除这个提示,必须在控件上加上一个脚本安全标志。
一次完整的ActiveX控件签名,首先需要在程序代码中添加ISafeObject控件安全指针,然后对编译好的控件.ocx、dll文件签名。将签好名的文件打包成.cab文件,再对.cab文件签名。

3. 手机上使用的Java程序如何做签名?
类似Active控件需要做ISafeObject安全指针,手机平台J2me代码在签名之前,都必须在jar文件以及jad文件中添加medlet-permissions设置(或medlet-permissions-opt)。将程序必须或有可能应用到的第三方域许可的权限在软件中做好相应描述后,再对jad文件添加签名信息才能够正常的在手机客户端安装运行。

4. Java代码签名证书在手机平台上的兼容性如何?
由于手机操作平台的复杂性及不同地域的制造厂商遵循的规范都有所不同,因此Java代码签名证书在手机平台上的兼容性无法做到明确的保障。
Java代码签名也因为业界管理的混乱和遵循的管理规范不同,目前是无法通过单一或几款产品达到完美解决方案的。
摩托罗拉只不支持第三方域证书。
索爱早期机型(05年之前)不支持VeriSign证书。
国产机型(MTK平台),大部分手机平台无需证书验证(不支持第三方域证书、无生产商域证书)。
相同品牌,相同型号的手机,不同产地的情况下,有可能对证书的支持存在较大差异。
(如诺基亚手机,分欧水、港水、亚太、台版等,即使同是国内行货,也要区分深圳产地、武汉产地、北京+天津产地的不同。智能手机操作系统通常还可以使用刷机工具,从网上下载符合要求的rom自行刷机。而这类操作系统rom文件在刷机之前,都是可以自行定制的。)

5. 软件代码在运行时被安全防护软件拦截了怎么办?
在软件代码被安全防护软件拦截时,使用VeriSign代码签名证书可使您的代码获得安全防护软件信任。
部分代码因为使用了类似病毒或恶意程序的特征码来实现必须的功能而被安全防护软件拦截。此时即使使用了VeriSign代码签名,软件代码仍存在被查杀的可能。这种情况下,将VeriSign签发的代码签名证书公钥文件(即代码签名证书.cer文件)发送给安全防护软件厂商,将VeriSign签发的代码签名证书加入到白名单中即可。
这种安全防护软件厂商的认证操作,不会收取您任何的费用。但与此同时,您必须妥善保存您的代码签名证书密钥文件,防止密钥泄露而使得证书被盗用。一旦证书被盗用并且被恶意用于病毒、木马程序,因此造成的用户损失须由证书的持有者来承担。而且您的数字证书有可能会被吊销,公司信息被CA机构录入黑名单,再次提交申请代码签名证书时将会被拒绝。

6. 微软代码签名证书下载成功后无法备份证书怎么办?
在证书管理界面“个人”选项卡中的证书无法被导出,“是,导出私钥”选项不可选,通常有两种情况。

一种是因为该证书是从.pfx格式的证书备份文件中恢复回来的。并且在恢复过程中没有选择“标志此密钥为可导出的,这将允许您在稍后备份或传输密钥”选项。这种情况下,私钥是被禁止导出的,因此无法从当前机器导出备份证书。

另外一种情况是因为系统磁盘选择了NTFS分区格式,并且系统和管理员账户对密钥文件没有足够的控制权限。而无法导出密钥。
进入
%SystemDrive%\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA\MachineKey 目录,修改密钥存储器的权限。
注意:请设置“工具” “文件夹选项” “查看” “显示所有文件和文件夹”来查看隐藏的文件。
该文件夹下每一个文件都相当于一个密钥存储器,尝试使用记事本打开每一个文件。如果系统弹出权限不足的提示,请修改该文件的权限设置,分配给予管理权限。
这个操作对 2000 / XP / server2003 / Vista 都是有用的,但 Windows7由于启用了UAC,发生这种情况通常只能做证书替换来重新获取证书。因此建议现阶段,尽量不要使用Windows7操作系统来申请VeriSign代码签名证书,或使用工具创建CSR文件,而不要使用IE浏览器自动创建CSR。

7. 如何使用微软移动代码签名证书?
微软移动代码签名证书需要使用USB Key来下载存储证书。在收到VeriSign发给您的USB Key并成功下载证书后,使用天威诚信代码签名工具对所有已编译并支持签名的文件(包含exe / dll / mui / cab 文件)添加本地签名。再将文件打包成cab格式文件,并对cab文件添加本地签名。本地签名使用VeriSign为您颁发的USB Key中的证书。
完成本地签名后,登陆VeriSign签名管理控制台,上传本地签名后的cab文件到控制中心,在线点击“签名”按钮,完成在线签名。
本地签名使用的是VeriSign证书,可无限制的做签名,而在线签名则通过控制中心将您的代码从后台提交给微软,由微软来对您的代码进行重签。本地签名时,不会扣减签名事件数量,而在线签名是需要扣减签名事件数量的。每上传并在线重签一个cab文件,都会相应扣减一个签名事件。
初始账户默认包含10个签名事件。签名事件使用完之后,需要重新购买签名事件。

8. 代码签名后,软件为什么无法运行?
代码签名过程将会把签名信息和代码签名证书公钥文件写入到程序当中。因此代码签名过程实际上是对程序文件本身做过修改的。
如果您的程序安装文件使用了 md5、sha1等文件哈希值自验算功能(通常是为了文件保护,防止文件被篡改和捆绑木马)。程序在签名后将无法完成自验算,导致程序运行失败无法安装。请删除程序安装包制作工具中的文件保护功能,或更换其他安装包制作工具,重新生成安装包文件并签名。

9. Thawte代码签名证书和VeriSign代码签名证书有何区别?
Thawte代码签名证书已更新成2048位(包括根证书和中间CA证书,Thawte代码签名证书根证书与Thawte EV证书相同)。由于Thawte最新的EV根证书在部分操作系统平台中无法通过自动更新获取到,因此在部分无法联网的系统平台中,有可能出现根证书不受信任的问题。
Thawte代码签名证书,客户在申请时只需要提交CSR文件即可。VeriSign代码签名证书,客户需要自行在线注册。VeriSign代码签名证书在提交注册时,可以选择使用浏览器生成证书请求及使用工具生成证书请求两种方式(使用工具生成证书请求的操作方法同Thawte代码签名证书)。
VeriSign代码签名证书可以签名内核驱动代码,并可以通过徽标认证来签名硬件驱动代码。但Thawte代码签名证书无法签名任何驱动代码。
Thawte代码签名证书可以使用中文,VeriSign代码签名证书暂不支持中文。

10. 代码签名证书PVK和SPC文件与pfx格式证书文件有何区别?
可以通过相关的工具,在 pvk+spc 和 pfx 格式证书间进行转换。但在证书签名操作和使用过程中,使用pfx格式证书文件相对操作简单,证书文件更便于管理。
证书流程更新后,天威诚信渠道签发的代码签名证书均为pfx格式。而VeriSign渠道申请的证书,仍为pvk和spc格式文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值