常见问题

代码签名证书-适用简析

帮随着Windwos7的大行其道,我们越来越多的时候发现,在安装运行程序以及驱动程序时,会被提示“该程序没有数字签名” 而被系统强制禁止运行。本文仅仅着重分析驱动签名。
为了 Windows 操作系统的稳定和安全,没有签名的程序{特别是驱动}是不允许运行的。硬件厂商和相关软件开发商都需要申请相关的代码签名证书来数字签名{其驱动}代码。 微软的策略是逐步实现所有程序{包括硬件驱动}的数字签名,以便用户在反馈{硬件}故障时能准确识别{硬件的}制造商,并及时通知相关制造商改进。
驱动签名的目的有两个:一是确保驱动代码没有被非法篡改,二是确保驱动代码的来源可信 ( 驱动开发商身份已经通过权威的第三方审核 ) ,从而保护了驱动代码的完整性;同时保护了用户不会被病毒、恶意代码和间谍软件所侵害,退一步,也能做到恶意代码可以溯源。
***请注意:硬件驱动签名与硬件徽标认证,前者是出于系统安全考虑,而后者则偏重于市场推广。通过徽标认证一定是已经签名的,而并非所有硬件签名都需要通过徽标认证。当然,要申请徽标认证,首先要申请徽标认证证书来证明制造商的身份和提交已经签名的驱动。

不同的驱动类型对证书的要求是不同的,具体总结如下:
(1) 如果您希望 Windows Vista 直接允许安装驱动程序而没有任何警告,并且 Windows 会自动更新您的最新的硬件驱动软件,则您一定要申请微软徽标认证,使用 WHQL 签名。而申请微软徽标认证,首先则需要购买 VeriSign 微软徽标认证证书 ;
(2) 如果您希望签名内核模式驱动(X64),但不想申请微软徽标认证,则只能申请 VeriSign 微软代码签名证书,请注意:请参考:VeriSign 微软代码签名证书使用指南,签名时是必须使用 Windows SDK 或 WDK 中指定签名工具签名,同时需要使用微软签发给 VeriSign 的交叉认证 根证书 的;
(3) 如果您希望签名即插即用驱动(x86),您可以申请 VeriSign 微软代码签名证书;
(4) 如果您生产的电脑设备为不需要驱动的通用设备(如:键盘和鼠标等),但希望申请微软徽标认证来提升产品竞争和拓展全球市场,则您 VeriSign 微软徽标认证证书 。
各种不同的驱动类型对证书的要求是不同的,具体如下:
(1) 希望 Windows 7直接允许安装驱动程序而没有任何警告,并且 Windows 7 系统会自动更新您的最新的硬件驱动软件,则一定要申请微软徽标认证{就是进行 WHQL 认证}。【而申请微软徽标认证,先需要购买 VeriSign 徽标认证证书 ,相当于微软把对厂家身份识别部分工作转移给了VeriSign来完成】
(2) 如希望签名内核模式驱动(X64),但不想申请微软徽标认证,则只需申请 VeriSign 微软代码签名证书,签名必须使用 Windows SDK [...]

代码签名证书常见问题汇总(第二篇)

1.代码签名证书是如何工作的?
代码或者内容的签署基于公钥加密体系。开发者或软件的发布者使用私钥给一段代码或者内容加上一个数字签名。软件平台或者应用程序平台在这些代码或者 内容下 载过程中使用公钥来解密这个签名,同时比较下载下来的程序的哈希值和程序被签署的时候的哈希值是否一致。通过可信的来源签署过的代码可能会被自动接受,也 可能提示用户一个安全警告,让用户决定是否相信并接受这个代码。
2.数字签名的有效期是多长时间?
您购买的每张代码签名证书都会被指定一个有效期。您可以在证书有效期内使用您的代码签名证书反复签署您的代码。您的数字证书过期后,所有基于此数字 证书的 数字签名也都会过期,除非签名中包含时间戳。时间戳选项显示代码是何时被签署的,这可以让用户去验证这个数字签名是在代码签名证书有效的时候被签署的。
3.什么是代码签名证书?为什么需要代码签名证书?
代码签名为代码或内容创建一个数字化的“热缩膜包装”,这个“包装”可以向用户证明为这些代码或内容负责的公司的身份,并且确认这些代码或内容自被 签名起 从未被修改过。在传统的软件销售中,用户可以通过检查产品的包装来确认其所购买的程序的来源和完整性。逐渐地,用户越来越多的在线下载软件,安装插件,使 用各种基于Web的应用程序。在这过程中,恶意代码或者不完善的代码使得用户面临着极大的安全风险。VeriSign代码签名通过数字签名使您的软件可以 被识别,同时难以被伪造和篡改,从而保护您的品牌和您的知识产权。
4.我需要几张代码签名证书?
基于安全性和可管理性考虑,VeriSign 建议开发者另外购买,而不是共享代码签名证书。如果一张代码签名证书被泄露,这张证书必须被撤销,同时所有用这张证书签署的程序都会失效。为方便使用起 见,VeriSign 建议为每个开发平台购买一张代码签名证书。您可以用一个平台的代码签名证书签署其他平台的代码。然而,不同平台的数字证书格式是不一样的。要跨平台使用代 码签名证书需要使用另外的工具来转换证书格式。

SSL证书常见问题(第二篇)

1. 多台服务器多个域名,该如何选购SSL证书?
一般来讲,一个网站(一个域名)对应一个SSL证书,因为SSL证书是绑定域名的。只有通配型证书和多域型证书才支持多个域名。通配型证书适合于同一台物理服务器下的同一域名下的多个子域,如您在同一台物理服务器上有多个网站:
www.mydomain.com
secure.mydomain.com
pay.mydomain.com
login.mydomain.com
申请通配型SSL证书时填写的通用名称(Common Name)为: *.mydomain.com 。
与 通配型证书只支持子域不同的是,多域型SSL证书支持任何域名,不仅限于子域,如:domain.com、domain.cn、 domain.com.cn、domain.net、domain.net.cn、mydomain.com、domain.us、 domaina.com等等。不仅适合于有多个域名需要部署SSL证书的单位,更适合于虚拟主机服务提供商为不同单位的不同域名的网站部署SSL证书。
请注意:以上两种证书都使用于同一台物理服务器,如果您有多台物理服务器在使用同一个域名(负载均衡方式),则您需要为多台服务器购买多服务器许可证即可。
2、收到证书批准邮件后,从邮件中提取的证书安装失败,无法安装?
1.保存下来的服务器证书文件中,文件代码前后可能有空格或其他无效字符。或者没有将证书头和尾部起始代码包含进来。 在Windows环境下,双击尝试打开该证书文件,检查是否能够查看证书信息。
2.原始请求被删除或被新的请求覆盖,私钥丢失。需要吊销替换,重新生成证书文件。
3.私钥管理权限不足,使用管理员权限登陆,并赋予私钥的管理权限。
3. 全球服务器证书创建连接后,仍显示为40位连接,如何解决?
请客户在服务器端打一个NT4高强度加密包。
4. 服务器上装个证书会不会影响到速度和流量?
当然会增加服务器CPU的处理负担,因为要为每一个SSL连接实现加密和解密,但一般不会影响太大。同时建议注意以下几点以减轻服务器的负担:
(1) 仅为需要加密的页面使用SSL,如https://www.domaincom/login.asp,不要所有页面都使用https://,特别是访问量最大的首页;
(2) 尽量不要在使用了SSL的页面上设计大块的图片文件和其他大文件,尽量使用简洁的文字页面。
如果网站的访问量非常大,则建议另外购买SSL加速卡来专门负责SSL加解密工作,可以完全不增加服务器任何负担。或另外增加服务器。
5. 为什么查看某些安全站点时会弹出“本页不但包含安全的内容,也包含不安全的内容。是否显示不安全的内容”?
在编写网站页面文件代码的时候,页面URL和资源文件建议使用相对路径来定义。这样有助于提高页面对证书的兼容性。当客户端无论是用http还是 https来访问该页面都不会报错。如果页面需要强制使用https来访问,则在页面中,需要确保所有的图片、Flash、JS脚本、CSS等文件都使用 https的绝对路径或使用相对路径来定义文件在页面代码中的位置。
6. 在一台服务器的多个虚拟主机中,是否可以实现SSL功能?
如果是一个IP多个网站的情况,无法实现SSL功能;如果是一台服务器对应多个网站多个IP(每个网站一个IP),就可以实现SSL功能。每个网站需要配置一张服务器证书。
7. 在IIS中如何导入pfx格式的服务器证书?
如果操作系统是win 2003,在IIS配置目录安全性的选项里有从pfx文件中导入的选项,按照安装向导配置即可。如果是其他操作系统,需要先双击pfx文件,将证书导入到系统中,然后再选择指派现有证书进行配置。
8. 物理服务器出现故障是对证书使用会有什么影响?
在您申请服务器证书后,请及时备份您的证书及私钥。如果物理服务器出现故障只需要将备份的证书配置到新的服务器上就可以,不会对证书的使用造成影响。
9. 网络设备是否可以支持SSL证书?
设备的硬件制造如果让设备支持SSL协议是可以支持证书,一般的技术配置文档由这些设备厂商提供。如cisoco F5 VPN 都有支持证书的产品。
10. 托管服务器提供商不让配置ssl证书?
托管服务器一般也叫虚拟主机提供商.他们在一台较好的服务器上配置了多个虚拟站点.一般都是提供普通的80 web服务.如果其中的一个站点配置了证书走SSL协议是会对整个服务器会有负载的。

SSL证书常见问题(第三篇)

1. 在Apache 上配置EV SSL 服务器证书,但EV SSL 服务器证书有两张中级证书,在Apache 配置文件中出现两个引用中级证书语句时,启动失败。
Apache 下,需要将两张中级证书打包成一个证书文件。打包方式:用记事本等文本编辑器打开两张中级证书文件,分别复制证书代码,粘贴到一个记事本文档中。并将该文件配置到 Apapche 配置文件中 SSLCertificateChainFile 路径下。
2. 配置中间证书后无法启动apache报”Failed to configure CA certificate chain!”错误,为什么?
Mod_ssl模块的问题,重新编译一下apache即可。
3. 关于重定向的配置
方法一:在主页中嵌入 <—<script language=javascript> if(document.location.protocol == “http:”){ document.location.replace(document.location.href.replace(/^http:/i,”https:”)); } —>
方法二:1. 在IIS下新建一个站点,主机名和要实现SSL功能的网站域名相同,在该站点的“属性”,“主目录”中选择“重定向到URL”并修改成要实现 SSL连接的网站,这个站点的端口用80端口。2. 如果主站点的端口是80,修改成其他端口,并在属性里加载SSL连接,SSL端口为443。重启服务即可。
4. 在Web Logic中安装Web Server证书时,出现私钥与证书不匹配的问题,是为什么?
在私钥文件与证书文件都正确的情况下,这可能是由于没有安装中级CA引起的。客户必须将全球服务器证书配置到域名与证书通用名相同的WEB站点上 (即证 书通用名与URL必须相符),否则可能会出现Win98下无法建立连接、或低加密强度的浏览器无法建立128bit连接而只能建立40bit或56bit 的SSL连接的问题(可能还有其他不可预知的问题)。
5. 如果改变了硬件、软件(web server)证书需要重新申请吗?
服务器证书与硬件无关。系统和web server版本如果相同也不会有任何影响。如果改变了服务器软件,证书就要重新申请。服务器证书不可以更换平台使用。
6. 服务器证书做双向认证是否需要安装第三方的插件?
常用的webserve 中间件都会有支持客户端认证的功能。配置证书书只需要修改配置文件便可以启用客户认证的功能。不需要安装第三方的插件。
7. 服务器需要使用的是 Pem 格式的私钥和证书文件,该如何生成私钥和证书请求。
可以安装 Openssl ,使用 Openssl 来生成证书请求。请参考Apahce服务器证书CSR生成指南,在生成私钥文件时,只需要将私钥文件名的后缀定义成 .pem 就可以了。
8. 用IE4或IE5浏览器浏览某些安全站点时,会出现服务器证书不可信的警告,用Win2000则没有这个问题,为什么?
这个问题包含两方面内容:
1. VeriSign在2001年2月26日后颁发的全球服务器证书都不再支持IE4浏览器,因此IE4浏览器需要升级或安装2028年的新的Class3根证书。
2. 除微软的IIS外,其他WebServer软件都需要安装中级CA证书(根证书一般是预埋的)。
9. 如果显示证书已过期(并未到有效期)?
可能情况:1)系统时间不对;2)中级证书过期。

签发SSL证书相关问题解答

1、“ 巴士”能否保证证书的100%签发? 是否出现无法签发的问题?
答:在证书颁发还是拒绝颁发上面,VeriSign遵循自己的商业规则,任何Verisign的合作伙伴和经销商都不能影响到verisign的独立鉴证和流程,因此我们也并不能保证每名客户均可以成功申请。“巴士”所做就是要求我们每一名咨询顾问对客户负责,从头至尾的帮助客户完成整个申请过程。在正式申请提交到Verisign前,对资料预审和规范核查,尽量缩短因为资料不规范不完整,以及业务不熟练造成的证书签发时间的延误。
2、 对私钥,密码等重要信息,“巴士”的业务人员是否也可以在颁发过程中轻松获得?
答:不会! 客户在自己的客户端或者环境里面生成证书私钥。基于PKI/CA技术的基本原理,证书生产商VeriSign也不可能获取到客户私钥。客户只需保管好自己的私钥,不轻易复制或者备份,就不会有安全隐患。
3、 客户将鉴证资料提供给“巴士”,如营业执照、电话账单等,这一过程是否安全?
答:首先VeriSign和“巴士”注意客户隐私的保护,会遵循商业基本准则,不会对无关第三方出示或呈现这些资料;其次;签证流程以及各个环节严格都 是由Verisign公司相关部门来进行。  证书签证到最终颁发证书,整个过程和我们公司是否具有或者获得什么ISO9001质量管理体系验证等资质,无任何关联!
4、 若申请VeriSign的证书,是否需要将资料都翻译成英文的或出具英文的公正信函?
答: 首先说明一点:不存在标准的针对或者定制的哪个国家的本土化鉴证流程,中国也是VeriSign全球鉴证策略一部分,不要被误导。
申请VeriSign的证书,无需将资料都翻译成英文的或出具英文的公正信函! Verisign鉴权中心接受并且认可中文提交的法律文档以及资料。并且对客人的电话回访、核实等工作也会在我们中国的工作时间段来进行。[制定符合中国 国情的标准的本土化鉴证流程,翻译资料,以及倒时差等纯属无稽之谈!]
5、 一般一张SSL证书的签发周期有多长?
答:VeriSign的证书,具体体签发时间依据证书鉴证复杂程度稍有不同 :普通证书3-4工作日,EV类证书7-10工作日。经销商不能决定这一点! 我们能做到的是:依靠我们对证书流程和规范的了解,帮您准备符合规范的资料并且提交申请。
特别说明:Verisign不会因为和某个公司【自称】建立了良好合作关系,就胡扯保证客户在最短时间内顺利完成SSL证书发放。
6、 SSL证书签发后,是否可以提供技术支持或其他服务?
答:“巴士”致力和努力为客户提供专业的技术支持以及快捷服务。基于数字证书的特点,我们认为在线支持等方式是适合的支持方式。当然如果情况特殊,必须出现场时候,我们可以和客户协商来找到解决之道。
7、 国内公司可以通过“巴士”申请证书,国外公司驻华机构是否也可以通过“巴士”购买证书?
答:当然可以。
8、 证书不慎丢失,该怎么办。证书如需重新签发,时间需要多久?
答:在证书被删除或重装服务器,而没有备份证书。“巴士”可以在协助客户在证书签发之日起三十日内,免费为客户重新签发全新的证书。证书如需重新签发,此过程可在1-3个工作日内完成。不同的证书的具体重新颁发由一些差异,请具体查询。
9、 证书签发后VeriSign公司是否可以随意吊销?
答:“巴士”和VeriSign均无权利随意吊销客户证书。吊销证书有相应的约定程序和规则。

代码签名证书常见问题汇总(第一篇)

1.我需要哪种代码签名证书?
因为需求不同,不同的软件平台需要是使用不同的工具来签署您的代码。VeriSign 支持比任何其他的代码签名服务提供商更多的平台:Microsoft® Authenticode®、 Sun Java™、 Microsoft® Office and VBA、 Adobe® AIR™、Macromedia Shockwave®。选择适合您的开发平台的代码签名证书:VeriSign® 代码签名证书。
2.购买一个代码签名证书需要多长时间?
在代码签名证书申请过程中,VeriSign 会收集您的公司的相关信息用以坚定您的身份。确认过程可能会需要几个小时或者几天,这取决于您所提供的信息是否充分,以及这些信息是否可以很容易的被证 实。您有多种付款方式可以选择。VeriSign 只有在收到您的付款后才能向您交付证书。请参考代码签名证书的申请流程:
Microsoft Authenticode Enrollment
Sun Java Enrollment
Microsoft Office and VBA Enrollment
Adobe AIR Enrollment
Macromedia Shockwave Enrollment
3.其他人如何能信任我的签名?
您可以简单的签署您的代码以确保此代码没有被篡改并且此代码来自于您,但是这样并不能您是谁。由于证书的申请者必须经过一个身份验证过程,所以第三 方 CA 签发的证书比自签发证书更受信任。当软件平台或者应用程序平台验证一个数字签名的时候,它们通过“根证书”来决定是否信任办法这个这个证书的 CA。您也可以自签署您的代码,但是您必须确保所有获得您的代码的人都已经获得了您的根证书,否则,您自己签署的应用程序还是无法被识别。因为 VeriSign 的根证书已经预装或嵌入到绝大多数设备和应用之中,所以,来自 VeriSign 的数字签名会被各种设备和应用所信任,而不会提示用户警告或错误信息。
4.如果我的私钥丢失或者泄露了怎么办?
如果您的私钥丢失、泄露,或者您的信息有任何改变,您应该立即撤销您的代码签名证书,并用新的证书替换原来的证书。
5.我需要签署 cab 包里面的所有文件,还是只需要签署 cab 包本身?
对于 Microsoft Windows® 应用程序,开发者只需要用相应的代码签名证书签署 .cab 文件即可。对于 Windows Mobile® 应用程序,所有的可执行文件都必须签署。VeriSign® Flexible Signing Account 可以在签署 .cab 文件的时候自动签署其中所包含的所有可执行文件。

SSL证书常见问题(第一篇)

1. 同一张服务器证书是否可以配置在多台服务器上?
不可以。Verisign的签署协议中禁止客户在多台服务器上配置同一张证书。
2. 部分客户端访问IIS服务器时,证书链中的中级证书过期怎么办?
这种情况通常发生在IIS服务器上。导致该问题的原因是服务器上存在多张可提供信任关系的中级证书,且其中有已过期的中间级证书。如果客户端PC系 统中证 书存储区没有新的中级证书而只有已经过期版本的中级证书的话,客户端浏览器不会主动从服务器上下载新的中级证书文件,而只通过已过期的中级证书去验证服务 器证书的有效性。导致客户端报中间级证书已过期错误。
解决方法:删除服务器上计算机账户中“中级证书颁发机构”里已过期的证书,并更新最新的中级证书文件,强制客户端下载最新的证书链文件,使客户端只能通过一条最新的证书链来验证服务器证书的有效性。
3. 如何实现用户用访问http时自动跳转到https的访问地址?
实现网页的自动跳转有两种方式:
A 增加重定向到https
B 在页面中加入自动跳转代码。例如:<—< meta http-equiv=”Refresh” content=”秒数; url=跳转的文件或地址”>—>
4. IIS下同一站点不允许同时提交多个请求
微软IIS 6.0中每一个站点只允许同时发出一个CSR请求。如果在已有的请求之上重新创建一个新的CSR请求,您的原始请求(和私钥)将被覆盖。在正式提交CSR请求后,请不要对服务器做证书方面的配置,并可通过私钥备份,保存您的私钥文件。
5. 初始VTN服务器证书时,CSR中的所有信息都是按照要求正确填写的,但提交后系统无法解析,无法签发证书。
客户在填写辨识码时(证书管理密码)使用了特殊字符。
6. IIS中,已经提交CSR请求,还未收到证书如何备份私钥。
开始菜单“运行”-“MMC”-“文件”-“添加删除管理单元”,打开控制台,添加计算机账户-本地计算机。在控制台根节点中找到“证书注册申请”,在该目录下,找到您的注册请求文件并导出成一个PFX文件。
安装证书时,先从控制台导入私钥备份文件到“证书注册申请”,再把服务器证书导入到“个人”中。然后再到 internet 服务管理器中,需要配置证书的网站上,指派现有证书到导入的服务器证书上即可。
7. ssl会话建立的过程(原理)是什么?
交换开始于客户端发出的一条“client_hello”消息,消息包括
客户端支持的SSl版本号
客户端产生的32字节的随机数
一个对应的会话ID
一个支持的密码算法的列表
一个支持的压缩算法的列表
服务器发出消息“server_hello”进行响应,内容包括
服务器从客户端列表中选择的SSL版本号
服务器产生的32字节的随机数
会话ID
从客户端列表中选择的密码算法
选定的压缩算法(通常不进行压缩)
客 户端检查服务器的证书和它发出的诸多参数;如果服务器请求客户端证书,那么客户端响应一条证书消息,其中包含了它的X.509证书 服务器以客户端发来的“change_cipher_spec”消息作为相应,向客户端消失它也将使用与客户端相同的参数来加密将来所有的通信内容。因为 服务器已经收到了客户端计算密钥使用的随机数,它也可以计算与客户端相同的密钥;服务器发送交换结束消息来结束握手过程
8. 服务器证书双击打开时,提示是无效的证书格式,如何处理?
可能是文件中含有其证书链上的其它证书的缘故。可将文件的后缀改成.p7b解决。
9. Apache如何启动SSL?
Windows平台下启动apache
1. apache -k install 将apache加载为系统服务
2. apache -D SSL -k start 注意大小写
Unix或linux平台下启动apache
1. apachectl start
2. apachectl startssl
10. 配置好证书的站点,如何实现其站点下部分网页实现SSL功能,部分网页不用SSL功能?
主站点不要申请SSL安全通道,在站点下建立两个虚拟目录,一个放入要实现SSL功能的页面,申请安全通道,一个放入不用SSL功能的页面,不申请安全通道。