窗口 – signtool未能双重标记具有时间戳的SHA2和SHA1
我们需要使用signtool.exe与SHA1和SHA2双重签名我们的二进制文件,我们的证书支持256位SHA2。
使用Windows 8 SDK的signtool: 例如。: signtool.exe签署/ as / fd sha256 / t http://timestamp.verisign.com/scripts/timstamp.dll / f“certificate.pfx”/ p XXXXXXX“file.dll” (XXXXXXX是我们的证书密码) 失败与隐秘的错误: SignTool错误:SignedCode :: Sign返回错误:0x80070057 签名没有时间戳工作,单独签名SHA1或SHA256工作,但我们需要双重标志,并想象没有时间戳是一个否。 我尝试了32位和64位版本的signtool.exe,在Win7和Win8机器上尝试过,并尝试使用命令行选项播放,但无济于事。有没有人打过这个问题?
我一直在试图做这个确切的事情,并发现以下是诀窍。此方法依赖于使用两个Authenticode证书,一个用于SHA-1,另一个用于SHA-256,以确保文件被Windows Vista和Windows Server 2008接受为不受SHA-256证书签名的Windows Server 2008即使使用SHA-1算法:
signtool.exe sign /sha1 SHA1_Thumprint /v /d "FileDescription" /du "CompanyURL" /fd sha1 /tr http://timestamp.comodoca.com/rfc3161 /td sha1 "FileName.dll" signtool.exe sign /sha1 SHA256_Thumprint /as /v /d "FileDescription" /du "CompanyURL" /fd sha256 /tr http://timestamp.comodoca.com/rfc3161 /td sha256 "FileName.dll" 请注意,使用/ sha1开关为每个签名步骤显式指定SHA-1指纹,并且/用作附加SHA-256签名的SHA-1指纹。否则SHA-256签名将覆盖SHA-1签名。 在这个过程中发现的另一个问题是只有DLL和EXE支持双重签名。 MSI安装程序没有。 29/12/15更新: SHA-1 / SHA-256指纹的格式是一个40个字符的十六进制大写字母,没有空格。例如: signtool.exe sign /sha1 0123456789ABCDEF0123456789ABCDEF01234567 /as /v /d "FileDescription" /du "CompanyURL" /fd sha256 /tr http://timestamp.comodoca.com/rfc3161 /td sha256 "FileName.dll" 30/12/2015更新 要使用SHA-256证书签名具有SHA-1哈希的MSI文件,请使用类似以下命令: signtool.exe sign /sha1 SHA256_Thumprint /v /d "FileDescription" /du "CompanyURL" /t http://timestamp.comodoca.com/authenticode "FileName.msi" (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- windows-8 – 如何动态显示/隐藏WinJS模板中的div
- windows-server-2003 – IIS6网站/应用程序池可以使用的最大
- 有没有人发现Windows的(例如bash)shell终端和OS X一样好?
- windows-store-apps – 如何启用FPS监控来测试XAML动画?
- Windows NAP操作系统兼容性
- windows-server-2008 – 带有RAID 10 SSD的数据库服务器
- .net – 分析进程中加载??的本机DLL和程序集的内存占用的工
- windows-server-2008 – 将AD DS Server 2003迁移到Server
- windows-phone-7 – 如何将白色边框放到黑色的椭圆形在Wind
- Windows Server 2008搭建web服务