【问题标题】:Code signing with both sha1 and sha256 simultaneously?同时使用 sha1 和 sha256 进行代码签名?
【发布时间】:2015-08-20 17:55:27
【问题描述】:

由于 Windows 更改其安全策略,我们计划开始使用 SHA-256 算法而不是 SHA-1 对驱动程序文件进行代码签名。但是,我们仍然希望能够支持仍需要 SHA-1 签名的旧操作系统。

使用 Microsoft 的 signtool.exe,我们能够使用 /fd 标志成功地使用 SHA-1 和 SHA-256 摘要算法对文件进行编码。但是,如果可能,我们希望同时使用两种算法对文件进行签名。这甚至可能吗?我们希望避免使用使用不同算法签名的多组驱动程序,并根据操作系统确定要安装的驱动程序集——这将是我们的替代方法。

如果有人有完成此操作的经验,请说明您采用的方法。如果这是不可能的,将不胜感激解释为什么不可能。

【问题讨论】:

  • 我相信这就是他们在本教程中所做的:pixcl.com/Signing-Windows-8-Drivers.htm 请记住,如果您有内核模式驱动程序,Windows 10 中的要求将完全改变,您需要获得它由微软 (reference) 签名。
  • 我还从另一位开发人员那里听说,要走的路是只用 SHA-1 签名,但使用 SHA-2 证书。您的签名在最新版本的 Windows 中仍然有效。我自己还没有尝试过这些东西,但我的文章可能对你有帮助:davidegrayson.com/signing
  • 感谢大卫的信息。如果在使用带有 SHA-2 证书的 SHA-1 进行签名时,驱动程序签名在 Windows 10 上有效,那就太好了。此外,感谢您对即将通过 Microsoft 通过其开发人员门户获取驱动程序的要求进行提醒。这似乎是一个巨大的痛苦。希望我们能找到一种自动化该过程的方法。不过,这很好。谢谢。
  • 门户确实有一个 API。

标签: code-signing sha1 sha256 signtool driver-signing


【解决方案1】:

您可以通过调用signtool sign /as [signing cert parameters] [name of file] 将第二个证书附加到 EXE/DLL/SYS 中

【讨论】:

  • /as = 附加签名
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-11
  • 1970-01-01
相关资源
最近更新 更多