7

我们需要使用 SHA1 和 SHA2 对 dll 文件进行签名(在 Win XP SP3 之前使用 SHA1 获得签名证书并发布具有最高安全性 SHA2 的 Win XP SP3 操作系统)。我发现一篇文章说要执行以下操作,但我无法让它工作(在 Win 8 中显示 2 个证书)。有关我所说的双重签名 dll 的示例,请查看 Windows 8 中 .NET 框架 4.0 中的 System.Data.dll 的证书,您将在属性窗口中看到 SHA1 和 SHA2 证书。

Signtool sign /fd sha256 /ph /as /sha1 XX...XX $(TargetPath)

http://msdn.microsoft.com/en-us/library/windows/hardware/hh967734(v=vs.11).aspx

有谁知道如何做到这一点?谢谢!-J.P

4

2 回答 2

9

我想通了。下面是你如何做到这一点。希望这对其他人有所帮助:

signtool sign /fd sha1 /f sha1cert.pfx /p password file.dll
signtool sign /as /fd sha256 /f sha2cert.pfx /p password file.dll

*必须至少使用 VS2012 开发人员命令提示符进行 SHA2 签名

于 2013-06-06T21:18:41.730 回答
3

关键是使用辅助签名步骤上的 /as 开关来“附加签名”。如果你不包括它,它只会覆盖第一个签名。

于 2017-03-02T19:50:58.223 回答