使用Certum证书进行代码签名

时间:2017-01-04 22:12:39

标签: windows code-signing code-signing-certificate signtool

我想签署一个我的开源程序的静态.exe版本,以便它可以“正常”方式执行到“普通”Windows用户。

我从certum.eu购买了一个开源代码签名证书,以便能够做到这一点。

在互联网上进行一些搜索之后,我尝试使用osslsigncode 1.7.1在我的Linux机器上使用

签署exe文件
osslsigncode sign -pkcs12 cert.p12 -pass "..." -h sha2 -t http://timestamp.verisign.com/scripts/timstamp.dll -in some.exe -out some-signed.exe

有人在Windows 10上测试它,会弹出一个粗略警告:“Windows保护您的PC.Windows SmartScreen阻止了无法识别的应用程序 从开始。运行此应用程序可能会使您的PC面临风险。“

所以我尝试使用本机Windows工具signtool.exe对其进行签名。我将它安装在我的旧虚拟Windows XP中(我也编译了程序;我无法访问任何其他Windows机器)并使用

签署了exe文件
"C:\Programme\Microsoft SDKs\Windows\v7.1\Bin\signtool.exe" sign /f C:\cert.p12 /p "..." /t http://timestamp.verisign.com/scripts/timstamp.dll C:\some.exe

这个工具也说一切都还好,但仍然会弹出相同的警告。

这样,证书就没用了,因为“签名”的exe文件确实产生了与unsigned证书相同的警告。我非常感谢对此的帮助。

1 个答案:

答案 0 :(得分:1)

enter image description here

简短回答:等几天,问题就会消失。

今年早些时候我的Certum证书也遇到了同样的问题。几年前,我从Comodo获得了商业证书,最初也有同样的问题。

最重要的是,您的新证书和已签名的二进制文件需要一些时间来获得信任,并由Microsoft的代码签名信誉服务进行自动验证。

开始将已签名的exe分发给尽可能多的PC并执行" advanced"无论如何强制exe运行的选项。这可能有助于提高声誉。