code-signing - 使用signtool签名代码时如何包括整个认证路径?

标签 code-signing

使用 signtool 签名代码时,如何包含整个认证路径?

旧版的signtool将在数字签名中包含整个认证路径。现在,如果我使用signtool签署了一个可执行文件:

signtool.exe" sign /v /f avatar.pfx -t "http://timestamp.verisign.com/scripts/timstamp.dll" app.exe

签名无效:

enter image description here

这是因为没有认证路径:

使用较旧版本的signtool签名的二进制文件运行良好:

签名时,我该如何告诉符号代码包括整个认证路径?

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

更新:SignTool版本6.1.7600.16385:

也可以看看
  • How can I sign an ActiveX control with a code signing certificate and be a verified publisher?
  • Signing WinForms ClickOnce app with Certificate Chain
  • ClickOnce: Certificate cannot be validated
  • 最佳答案

    使用/ac并传递证书 Root 于其中的.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
    

    这应该由您的CA给出。通常,MS为Windows接受的各种CA提供捆绑软件。

    看:
  • Windows root certificate program members 🕗
  • Cross-Certificates for Kernel Mode Code Signing 🕗

  • 无论哪种方式,据我所知,仅内核代码和非常特定的其他内容(例如Windows安全中心)才需要这样做。

    关于code-signing - 使用signtool签名代码时如何包括整个认证路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6575424/

    相关文章:

    windows - 双签名 .cat 文件有错误 "No signature was present in the subject"

    windows-vista - 设置(个人)可执行文件/代码时间戳服务需要什么?

    ios - 供应配置文件不包括应用程序标识符和钥匙串(keychain)访问组权利

    certificate - 您可以在多个程序和安装程序上使用商业代码签名证书吗?

    passwords - 使用 SafeNet eToken 自动进行扩展验证 (EV) 代码签名

    c# - 可以使用 X509Certificate 对 .NET 程序集进行签名吗?

    ios - 代码签名突然停止工作

    java - 动态生成JNLP,使用不同证书签名的jar

    visual-studio-2010 - 项目和部署项目的构建后事件输出路径

    certificate - 代码签名(Microsoft Authenticode)