我有点卡在这里,我有一个.net 3.5 sp1应用程序,我想使用ClickOnce本地部署到我网络上的其他机器。
在安装时,他们会收到一条警告消息,指出此应用程序来自未知的发布者等。
我的老板不想购买verisgn证书。他只是希望安装它而不会提示,即绕过安全信息。
这可能吗?
微软网站上的一些注释表明在这方面有所改变,即
“ClickOnce应用程序发布商现在可以决定退出签名并对ClickOnce清单进行哈希处理,因为他们认为适合他们的方案。”
由于
添
答案 0 :(得分:8)
由于您在自己的网络上,因此可以创建自己的可信证书发布者。为此,请在其中一台服务器上安装证书颁发机构服务并创建代码签名证书。默认情况下,用户的计算机不信任证书,因此请在每台计算机上运行以下命令:
certmgr.exe -add -c MYRootCertificate.cer -s -r localMachine root
certmgr.exe -add -c MyCodeSigningCert.cer -s -r localMachine TrustedPublisher
第一个是让您的计算机信任您的内部CA服务器(以摆脱“不是受信任的发布者”消息),第二个是让它信任您的证书签名的应用程序。
之后,任何已签名的应用程序都将在没有安全警告的情况下运行。
答案 1 :(得分:3)
Mitchell的答案很好,但除非你有Enterprise Edition服务器,否则你无法自定义模板,代码签名模板被标记为“不可移植”。这意味着您无法在Visual Studio中使用该证书,并且必须具有签署清单的后续流程。
现在这是一个功能,而不是一个错误,不要搞错。典型的软件商店不希望开发人员在Visual Studio中为公共消费签署清单。也就是说,我个人在一家我做的商店,正是这种功能。幸运的是,我设法找到了getting a pfx key file exported的代码签名权限。如果您发现需要,那就很有用。