使用一个非Microsoft编译器,我为Windows编写了一些小应用程序,我想免费赠送或以微不足道的价格出售(比如5美元)。该程序不使用注册表,但我希望将其作为使用免费工具(例如,MyAppInstall.exe)创建的安装程序可执行文件(例如InnoSetup)提供。
从对Windows文件进行签名和其他来源,我的理解如下:
makecert.exesigntool.exe,它只能通过下载和安装至少590 MB的其他东西( SDK)才能获得。问:除了微软的signtool.exe之外,还有别的选择吗?
发布于 2013-09-24 23:22:56
有kSign,他们的博客也有一篇关于如何与Inno安装程序集成的文章。
它并不是签名工具的完全替代(也就是说,它不会对与签署驱动程序包有关的.cat和.sys文件进行签名),但它将对EXE、DLL、COM、CAB和OCX文件进行数字签名。
发布于 2015-02-10 07:40:20
signtool的另一种选择是单声道的signcode。有一个非常有用的文章,用于将证书转换为SPC/PVK格式并使用Authenticode对EXE进行签名:
将PFX转换为SPC/PVK
openssl pkcs12 -in authenticode.pfx -nocerts -nodes -out key.pem
openssl rsa -in key.pem -outform PVK -pvk-strong -out authenticode.pvk
openssl pkcs12 -in authenticode.pfx -nokeys -nodes -out cert.pem
openssl crl2pkcs7 -nocrl -certfile cert.pem -outform DER -out authenticode.spc标牌EXE
signcode \
-spc authenticode.spc \
-v authenticode.pvk \
-a sha1 -$ commercial \
-n My\ Application \
-i http://www.example.com/ \
-t http://timestamp.verisign.com/scripts/timstamp.dll \
-tr 10 \
MyApp.exe密码酶
与接受密码作为命令行参数的signtool不同,似乎必须在标准输入中给signcode提供密码。我能够使用signcode [arguments] < passphrase.txt。
发布于 2014-01-09 12:11:52
捕获22:我听说过的唯一的代码签名工具是signtool.exe,它只能通过下载和安装至少590 MB的其他东西( SDK)才能获得。
不是的。您不需要安装整个SDK来安装signtool.exe。使用并选择只安装“工具”。
然而,坏消息是,如果您没有CA签名证书,则没有签名工具可以帮助您绕过Windows警告,因为不可能凭空创建一些东西。好消息是,许多CA为开源开发人员提供了免费的代码签名证书,但您应该使用它只对免费软件进行签名。所以,这是你的选择:向CA付费并继续出售你的软件,或者不付费并免费分发软件。看上去很公平。
https://stackoverflow.com/questions/18211594
复制相似问题