如何签署我的VB.NET应用程序?

时间:2012-06-30 18:01:49

标签: .net vb.net inno-setup signtool

当用户安装我的应用程序时,我想避免这些可怕的消息:

screenshot unknown publisher

我知道我必须购买认证或类似的东西。你能告诉我在哪里可以买到它,以后我该怎么办?我想自动签署我的exe应用程序。此外,我使用InnoSetup,我想在创建新包时自动添加签名(EXE文件)

1 个答案:

答案 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设置的对话框 - 它只会识别它来自何处(已知出版商,名称等)。但是,他们会从您的出版商那里获得“始终信任”的选项(您不会将其视为“未知出版商”)。