当用户安装我的应用程序时,我想避免这些可怕的消息:
我知道我必须购买认证或类似的东西。你能告诉我在哪里可以买到它,以后我该怎么办?我想自动签署我的exe应用程序。此外,我使用InnoSetup,我想在创建新包时自动添加签名(EXE文件)
答案 0 :(得分:9)
如果您想成为“知名出版商”,您需要获得威瑞信等权威机构颁发的证书。这并不便宜(威瑞信收费约400美元/年)。
https://www.symantec.com/verisign/code-signing/microsoft-authenticode/buy
另见:
http://msdn.microsoft.com/en-us/library/ms247066
https://stackoverflow.com/a/1191152/327083
基本上你可以做两件事 - 强名签名和Authenticode签名。
单独的强名称签名不会识别程序集的发布者,但它会将程序集与可信密钥相关联,并且可以检测已被篡改的程序集。您必须将自己的密钥/证书分发给用户并让他们安装它们。没有第三方系统来处理这个问题。
Authenticode(即:Verisign等)为第三方认证花费了金钱,但允许整个过程很好地收缩包装,并将您识别为已知的发布者。
但是,即使使用Verisign证书(至少第一次),用户仍会看到具有默认UAC设置的对话框 - 它只会识别它来自何处(已知出版商,名称等)。但是,他们会从您的出版商那里获得“始终信任”的选项(您不会将其视为“未知出版商”)。