中国服务器网

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

Learn more

已签名的INF驱动程序在签名的计算机上工作,而不是其他人

我的公司从Go Daddy购买了一份驱动程序签名证书 。 我用它来签署一个简单的INF文件,它是我们使用微软的usbser.sys的一些USB设备的驱动程序。 一切似乎在我签名的Windows 7 64位计算机上工作:如果我右键单击INF文件并select“安装”,那么我看到的第二个警告是这个好警告,显示正确的发布者名称: 但是,如果我到另一台计算机(Windows Vista 64位),右键单击INF文件,然后select“安装”,然后我得到此错误消息,而不是: 这使我认为我的驱动程序没有正确签名,我的电脑上看起来不错的唯一原因是在Go Daddy安装过程中安装了一些根/中/跨证书。 我绝对希望我的用户能够看到我们是经过validation的发布者,而无需在他们的计算机上手动安装证书。 INF文件和.cat文件放在同一个目录下。 有谁知道为什么会发生这种情况,我该如何解决? 我怀疑主要的问题是,当我运行signtool verify /v pololu.cat (下面的更多细节),我得到这个错误,我还没有想出为什么: SignTool错误:证书链处理,但终止于信任提供程序不信任的根证书。 我的程序的细节 驾驶员签名证书是他们几星期前发布的Go Daddy的新产品。 我不完全确定它与代码签名证书有什么不同,但它是相同的价格。 我按照Go Daddy网站上的说明下载并安装了证书 ,虽然说明与现实完全不符。 在步骤1中安装了Microsoft Cross Certificate之后,我看到一条红色的警告消息: 在安装证书之前,必须使用Windows Update来更新根证书,或者手动下载并从我们的存储库安装根证书。 我不知道该怎么做。 我没有从他们的仓库安装一些GoDaddy根证书,但没有明显的区别。 我安装了Windows Driver Kit(WDK)的最新版本(8.0),然后安装Windows 8的Windows软件开发工具包(SDK)的最新版本(8.0)。 这使我可以访问inf2cat和signtool实用程序。 这两个工具包都是在上个月内发布的,所以有可能会出现一些新的bug。 在一个新的目录中,我把三个文件: pololu_usb_to_serial.inf ,我想签名的INF文件。 它很长很简单, 你可以在这里阅读 。 这个INF文件是一个独立的驱动程序; 我们的驱动程序包中不需要其他文件。 这个文件基本上和我们公司多年来成功发布(未签名)的版本相同,但是我必须对Inf2Cat进行一些更改才能接受。 我从Go Daddy证书库下载的mscvr-cross-gdroot-g2.crt 。 我相信这是交叉证书,certificate“Go Daddy […]