什么是ClickOnce签名?

Jua*_*uan 30 .net clickonce code-signing manifest

根据Microsoft的说法,您必须在ClickOnce应用程序上签名.但在我看来,当我在没有签名的情况下发布它时(通过关闭"签署ClickOnce清单"选项)它可以正常工作.

我真的不在乎并保持默认值(我认为我使用的是测试证书),直到我更换计算机并开始收到一条消息,告诉我"应用程序使用与服务器上现有应用程序不同的密钥进行签名" ,这似乎会导致我的用户停止自动更新.显然,VS使用我的计算机名称来创建密钥.

那么,我应该停止签署我的ClickOnce清单以防止出现这种错误,或者唱出它有什么好处.此外,这些证书是否会在安装应用程序以显示我的公司名称时导致"发布者:未知发布者"消息,或者我是否需要购买两种不同类型的证书?

小智 40

这是一项安全功能,允许您的用户验证任何更新是否真正源自您之前安装的版本的发布者.这是公钥加密的基本属性.最重要的是,您可以让您的证书由受信任的对等方授权,以便验证所提供的发布者的详细信息.(与之前拥有相同的出版商并不一定意味着有关出版商的原始信息是正确的.这是买一个的优势.)

所以总结:

  1. 没有证书可以让您的用户处于软件来源的赌博中.
  2. 自签名证书使用户确信至少来自与原始安装相同的发布者的更新.但仍然不知道这个原始来自哪里.
  3. 购买的证书为用户提供了一定程度的确定性,即第三方(和受信任的)方验证了有关发布者的信息.以及任何以下更新.