不签名部署ClickOnce应用程序

4

我很清楚在ClickOnce应用程序中签名的工作原理,但在内部网络场景中,我不明白添加测试证书或完全不签署清单之间的区别。

为什么要签名?在两种情况下,我都会得到相同的“未知发布者”,并且应用程序可以正常工作,在第一种情况下,我只需要在一年后拥有一个过期的证书。


Click Once有所帮助,但存在许多问题。Github的开发人员制作了Shimmer(https://github.com/github/shimmer),希望能够使可部署和可更新的应用程序变得更加轻松。 - Travis
1个回答

0
你应该使用自签名证书(通过Visual Studio)。当你使用自签名证书并且用户决定接受这些凭据时,以后可以使用相同的自签名证书进行重新构建/部署。用户将获得自动更新。
否则,用户必须卸载旧版本,重新安装新版本。因此,如果您从不进行任何更新,则对用户没有任何差异。

1
我刚刚检查了一下,我的应用程序在没有任何证书的情况下,在新版本出现时可以正确地自动更新,就像它被签名时一样。 - MaRuf
不同之处在于签名应用程序具有附加的安全层,以减少他人用恶意程序替换您的程序的风险(除非他们窃取了您的密钥)。想象一下,一个同事/承包商/黑客如何将新版本的程序放入“单击一次”文件夹中,而没有人可能知道其中的区别。小公司没有太多需要担心的,但中大型公司非常担心这种情况。 - tgolisch
这绝对是正确的,但如果我在不必担心安全的内部网络情景中,是否会有任何不同呢? - MaRuf
3
如果你不签名,你仍然可以更新应用。通常你需要使用证书;它会对清单进行哈希处理,使得别人更难劫持你的应用程序,正如 tgolisch 所指出的。在内部网络场景下,不签名应用程序是可以接受的;但如果你要公开发布应用程序,则签名更为重要。签名不需要花费你任何成本,那么为什么不签名呢?如果在企业中,你通常可以从网络团队获得一个“真正的”证书来消除“未知发行商”的提示。 - RobinDotNet

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接