【问题标题】:Deployment of self-signed msi自签名 msi 的部署
【发布时间】:2016-05-19 20:09:43
【问题描述】:

我刚刚为我将从我的网站分发的应用程序创建了一个 msi 安装程序。我使用 openSSL 对 msi 进行了数字签名。现在我的问题是:我如何打包 msi 以便它可以安装在用户的计算机上?我是否应该通过电子邮件向用户发送我创建的证书,以便他可以运行 msi?在这种情况下,首选的处理程序是什么?

【问题讨论】:

  • 如果您的 MSI 已签名,只需将其发送给客户。如果证书已在证书提供者处注册,则在安装时会对其进行检查。不要向任何人发送您的证书!您不希望他们使用它来签署代码并使其看起来像是来自您。
  • 但是 MSI 是使用 openSSL 自签名的,我没有支付任何费用,也不会支付,因为我在我的网站上免费提供此应用程序。我不确定仅发送自签名 msi 是否可行!
  • 试试看,但为什么还要签名呢?签名的重点是第 3 方验证 - 客户不信任您 - 验证在证书提供商处。说“我是值得信赖的——我已经用我自己的自制证书签署了它”并不意味着什么。如果您期望客户安装将您视为受信任的,那么这不会发生。
  • 那么我想人们下载我的应用程序的唯一解决方案就是支付数字证书的费用,我觉得它贵得可笑!或者放弃这个特定应用程序我不想要的源代码......嗯

标签: deployment windows-installer self-signed


【解决方案1】:

这实际上取决于您要通过签署 MSI 来完成什么。如果您只想让它安装,那么您已经完成了; Windows 不允许安装未签名的 MSI 文件。如果您尝试获得绿色 UAC 提示,则需要验证签名证书。这可以通过适当地购买证书或通过在每台目标机器上安装自签名证书或其根来完成。 (后者在企业内部很常见,用于企业自己签的项目。)

但是,如果您想真正确保安全,您很快就会遇到先有鸡还是先有蛋的问题。使用颁发给 X 的证书签名的文件应该确认这些位来自 X,并允许用户决定 X 是否值得信赖。其中一部分需要知道没有其他人可以使用声称已颁发给 X 的证书。如果您使用的是自签名证书,或者由自签名根颁发的证书,则没有内置的身份验证链. (不再是 Morgan 孩子的室友;而只是某人的室友。)

您如何安全地向用户获取标识信息,例如根证书?他们怎么能确定它不是信任假 X 的恶意版本? (当没有人认识他时,你如何介绍摩根,而不是让一些自称摩根的墨菲同胞?)在我上面提到的企业场景之外,或者从付费证书开始的方式之外,我不知道有什么好处方式。

【讨论】:

  • 是的,我考虑了很多,我同意除了付费之外别无他法。现在为什么我看到不同供应商之间的价格波动如此之大?在您的体验中,哪一个是最好的方式?谢谢大家的cmets!
  • 价格可能反映了证书颁发机构在验证您的身份时所采取的谨慎态度。或者只是市场所承受的。我自己从来没有买过证书,所以只能推荐找一个支持 SHA-2 验证码代码签名证书的供应商。
  • 好吧,我做了一些研究,Comodo 似乎有最好的报价...我只是希望他们的证书和赛门铁克一样可靠,这是最昂贵的(BTW 贵得离谱)
猜你喜欢
  • 1970-01-01
  • 2013-12-29
  • 2018-08-27
  • 2017-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-11
相关资源
最近更新 更多