我有点卡在这里,我有一个 .net 3.5 sp1 应用程序,我想使用 ClickOnce 在本地部署到我网络上的其他机器。
在安装时,他们会收到一条警告消息,指出此应用程序来自未知发布者等。
我的老板不想买威瑞信证书。他只是想安装它而不提示即绕过安全消息。
这可能吗???
Microsoft 网站上的一些注释表明该区域已进行了更改,即
“ClickOnce 应用程序发布者现在可以决定不签署和散列 ClickOnce 清单,因为他们认为适合他们的场景。”
谢谢
蒂姆
由于您在自己的网络上,因此您可以创建自己的受信任证书发布者。为此,请在您的一台服务器上安装证书颁发机构服务并创建代码签名证书。默认情况下,您用户的计算机不会信任该证书,因此请在每台计算机上运行以下命令:
certmgr.exe -add -c MYRootCertificate.cer -s -r localMachine root
certmgr.exe -add -c MyCodeSigningCert.cer -s -r localMachine TrustedPublisher
第一个是让您的计算机信任您的内部 CA 服务器(摆脱“不受信任的发布者”消息),第二个是让它信任由您的证书签名的应用程序。
之后,您的任何已签名应用程序都将在没有安全警告的情况下运行。
Mitchell 的回答很好,但是除非您有企业版服务器,否则您无法自定义模板并且代码签名模板被标记为“不可导出”。这意味着您不能在 Visual Studio 中使用证书,并且必须有一个后处理来签署您的清单。
现在这是一个功能,而不是错误,不要搞错。典型的软件商店不希望开发人员在 Visual Studio 中签署清单以供公众使用。也就是说,我个人在一家我确实想要那种功能的商店里。幸运的是,我设法弄清楚如何导出具有代码签名权限的 pfx 密钥文件。如果你发现你需要它,它会很有用。