如何使用证书对dll进行双重签名?

7
我们需要使用SHA1和SHA2签署一个dll文件(在Windows XP SP3之前获得使用SHA1的签名证书,以及在Windows XP SP3之后具有最高安全性的SHA2)。我找到了一篇文章,说要像下面这样做,但我无法使其工作(在Win 8中显示2个证书)。如果你想看一个双重签名dll的例子,请查看Windows 8中.NET Framework 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

有人知道如何做到这一点吗?谢谢! -jp


(注:此文本已经被翻译为中文,仅供参考)
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签名


3
关键点是在第二个签名步骤中使用/as开关来“追加签名”。如果不包括它,它将只覆盖第一个签名。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接