使用signtool签署代码时如何包含整个证书路径?

Ian*_*oyd 10 code-signing

如何在使用代码签名时包含整个证书路径signtool

较旧版本的signtool将在数字签名中包含整个证书路径.现在如果我签署一个可执行文件signtool:

signtool.exe" sign /v /f avatar.pfx -t "http://timestamp.verisign.com/scripts/timstamp.dll" app.exe
Run Code Online (Sandbox Code Playgroud)

签名无效:

在此输入图像描述

这是因为没有认证路径:

在此输入图像描述

使用旧版本的signtool签名的二进制文件工作正常:

在此输入图像描述

如何在签名时告诉signcode包含整个认证路径?

签署二进制文件的正确方法是什么?


更新:SignTool版本6.1.7600.16385:

在此输入图像描述

也可以看看

0xC*_*22L 9

使用/ac并传递.cer证书所在的文件名(对于Verisign,上次我签署内核代码或其他特殊代码时,我将其称为MSCV-VSClass3.cer).

signtool.exe sign /v /f "Avatar.pfx" 
      /ac "Thawte Code Signing CA - G2.cer" 
      -t "http://timestamp.verisign.com/scripts/timstamp.dll" app.exe
Run Code Online (Sandbox Code Playgroud)

这应该由您的CA提供.通常,MS为其在Windows中接受的各种CA提供捆绑包.

请参阅:http://support.microsoft.com/kb/931125/en-ushttp://www.microsoft.com/whdc/winlogo/drvsign/crosscert.mspx

无论哪种方式,据我所知,这只是内核代码和非常具体的其他事情(例如Windows安全中心)所必需的.