我公司正在为我们的硬件开发驱动程序。现在我需要在32位和64位平台上签名。
请告诉我,现在我需要购买授权代码证书,对吗?
使用什么CA?
DigiCert?
GlobalSign?( http://www.sslshopper.com/microsoft-authenticode-certificates.html )
赛门铁克?( http://www.symantec.com/verisign/code-signing/microsoft-authenticode )
这个CA提供的区别是什么?
我需要使用WDK的工具吗?
发布于 2012-09-19 14:05:49
是的,您需要一个代码签名或Authenticode证书。(看起来并不是所有的CA供应商都称它为Authenticode证书;例如,GoDaddy只是简单地称它为驱动程序签名证书。)
据我所知,除了一个主要的例外(见下文),CA供应商之间的差别很小,我通常建议使用谁最便宜。我们的Authenticode证书是通过Verisign/Symantec认证的;我没有与其他供应商打交道的经验。从我购买常规(而不是代码签名) SSL证书的情况来看,像Verisign这样的公司收取额外费用似乎仅仅是因为他们更出名。(他们有可能拥有更好的安全性,或者对客户或类似的人执行更多的验证,但是整个CA基础设施只有其最弱的一环才是真正强大的,所以即使这是真的,也不会带来多大的好处。)
更新:正如布赖恩所指出的,一个主要的例外是,对于诸如Windows错误报告和Windows硬件认证这样的功能,需要赛门铁克/ VeriSign的证书,所以如果您想使用这些特性,最好购买VeriSign。(这将在堆栈溢出上进一步讨论。)
一旦你拿到证书:
inf2cat从您的驱动程序的.inf文件创建或更新您的.cat文件。signtool signwizard (用于GUI模式)或signtool,对.cat文件进行签名。inf2cat是Windows (WDK)的一部分。signtool附带了Platform SDK和WDK。
在我进行驱动程序签名时,以下网站对我很有用:
发布于 2012-09-19 14:49:26
如果您只想被允许在windows计算机上安装驱动程序,那么您的CA使用应该无关紧要(除非CA不受Microsoft的信任)。
但是,只支持VeriSign证书作为向Microsoft标识您的组织的一种方法,以获得诸如Windows报告和Windows证书等功能。例如,管理您的数字证书页面明确声明要从VeriSign购买证书。
如果您打算使用这些功能,您应该立即购买VeriSign证书,而不是现在购买另一个证书,然后购买VeriSign证书。
发布于 2012-09-19 16:29:10
您需要一个满足内核模式代码签名策略(KMCS)的证书。
以下是可能的证书颁发机构的MSDN列表。
但是,WHQL (或它目前的调用方式)似乎需要一个Verisign才能让您参与WHQL程序的windows徽标.事情..。因此,如果未来需要windows徽标,我会购买。
https://softwareengineering.stackexchange.com/questions/165375
复制相似问题