很早微软就宣布弃用sha1 的签名算法,我们也在数字证书到期后启用了新的证书,支持sha256 哈希算法,但是最近反馈有部分用户运行不了我们的程序。
经过调查,发现这部分人是Windows xp sp2 系统的用户,居然会有这么古董的电脑,果果也是醉了。。。
既然有这个问题,我们就要解决,发现腾讯QQ进入没有这个问题,难道没有进行签名?
肯定不能,在现在软件都要签名,要不然下载安装会提示有风险,或者被恶意篡改。
属性发现数字签名进行了双签名,有sha256,又有sha1 算法的签名。
我们使用的是微软的signtool.exe 进行签名,于是阅读微软的文档,是可以有参数指定哈希算法的版本。
https://docs.microsoft.com/en-us/dotnet/framework/tools/signtool-exe
signtool.exe sign /as /f "%pfxfilesource%" /p "%pfxpasswd%" /tr "http://timestamp.wosign.com/rfc3161" /fd sha256 "%input%"
时间戳服务器使用了http://timestamp.wosign.com/rfc3161 ,国内响应快。
可能出现的问题:
SignTool Error:The /t option is incompatible with the /as option. SignTool Error: Specify the RFC 3161 timestamp server's URL instead with /tr.
请使用新版的signtool.exe,win10 用户可以到 C:\Program Files (x86)\Windows Kits\8.1\bin\x86 路径里面去找。
SignTool Error: The specified timestamp server either could not be reached orreturned an invalid response.
请修改时间戳服务器为 http://timestamp.wosign.com/rfc3161 ,据说 使用http://timestamp.wosign.com/timestamp 会出现这个问题。
转载请注明:果果.IT » 软件支持sha1 sha256 双算法数字签名