2011-08-31 102 views
5

您是否知道为什么“Microsoft Code Verification Root”会从签名证书链中丢失?驱动程序安装失败,因为交叉签名链不包含microsoft

我们最近移动了两个域之间的构建系统,不得不重新安装证书。我们发现我们有一个签名问题,在安装过程中,Microsoft不在链中导致内核驱动程序拒绝。

我们注意到,我们在certmgr 2个额外的证书:受信任的发布:证书

  • 类3公用主认证..
  • 威瑞信3类代码签名...

后禁用第3类公共小学认证“问题”消失了,我们与微软之间拥有合适的签署链。

我不知道如何安装3类公共小学认证或我们使用它并正在测试以查看我们可能会遇到的影响。

有没有人遇到这种问题,他们是如何处理它?有没有办法在命令行中禁用class-3,这样我就可以独立保留certmgr设置,从而降低风险?

感谢您的帮助

彼得

登录命令

signtool.exe sign /v /ac MSCV-VSClass3.cer /s TrustedPublisher /n "My Corp" /t http://timestamp.verisign.com/scripts/timstamp.dll mydriver.sys 

登录验证 signtool验证/ KP/V mydriver.sys

*** Signing Certificate Chain: 
*** Issued to: Class 3 Public Primary Certification Authority 
*** Issued by: Class 3 Public Primary Certification Authority 
*** Expires: 8/2/2028 7:59:59 PM 
*** SHA1 hash: xxxxxxxxxxxxxxxxxx 

    Issued to: VeriSign Class 3 Code Signing 2009-2 CA 
    Issued by: Class 3 Public Primary Certification Authority 
    Expires: 5/20/2019 7:59:59 PM 
    SHA1 hash: xxxxxxxxxxxxxxxxxx 

     Issued to: My Corp 
     Issued by: VeriSign Class 3 Code Signing 2009-2 CA 
     Expires: 9/10/2013 8:59:59 PM 
     SHA1 hash: xxxxxxxxxxxxxxxxxx 
+0

嗨,你问这个问题很久以前的事,但我不知道,如果你仍与司机签订的Microsoft Windows 10,我在那有许多缺少正式文件以下一些麻烦处理细节。也许你可以参考我的问题:https://msdn.microsoft.com/en-us/library/windows/hardware/dn800660(v=vs.85).aspx。谢谢 – Zohar81

+0

对不起,但这至少是一份工作前。下面的答案可能有帮助。整个过程很棘手。也许最新的ide有一个内置的选项,你可以从中提取命令。 –

回答

4

理论上,我可以将符合我的证书的verisign交叉签名证书安装到证书库中,signtool将自动使用它。但是,这可能导致错误的证书被用于交叉签名。

作为明确的是更好的

SignTool.exe sign /v /s trustedpublisher /ac path-to-retrieved-cert\MSCV-VSClass3.cer /n myCertName /t http://timestamp.verisign.com/scripts/timestamp.dll driver-file-to-sign

  • 时,要明确确认

SignTool.exe verify /kp /v drive-file-to-check

,或者如果你有一个cata日志文件

SignTool.exe verify /kp /v /c driver-cat-file.cat drive-sys-file.sys

0

我们比较了两个构建系统,并在坏系统的certmgr受信任发布者列表中找到了额外的3类公共主要证书。这与我们连锁店的顶级水平相匹配。我们禁用了此发布,并且链条的顶部已恢复到Microsoft。

所以,我们仍然有问题,但这似乎解决了我们的问题,对其他版本没有不良影响。

相关问题