部署自签名 msi
Deployment of self-signed msi
我刚刚为我将从我的网站分发的应用程序创建了一个 msi 安装程序。我使用 openSSL 对 msi 进行了数字签名。现在我的问题是:如何打包msi 以便它可以安装在用户的计算机上?我是否应该通过电子邮件向用户发送我创建的证书,以便他可以 运行 msi?在这种情况下,首选的处理程序是什么?
这实际上取决于您通过签署 MSI 试图实现的目标。如果你只是想让它安装,你已经完成了; Windows 不禁止安装未签名的 MSI 文件。如果您尝试获得绿色 UAC 提示,则签名证书需要可验证。这可以通过适当购买证书,或通过在每台目标计算机上安装 self-signed 证书或其根来完成。 (后者在企业内部常见,为企业自己签署的项目。)
但是,如果您试图真正确保安全,您很快就会遇到 chicken-and-egg 问题。用颁发给 X 的证书签名的文件应该确认这些位来自 X,并允许用户决定 X 是否值得信赖。这部分需要知道没有其他人可以使用声称已颁发给 X 的证书。如果您使用的是 self-signed 证书,或由 self-signed root 颁发的证书,则没有 built-in 身份验证链。 (不再是 Morgan child 的室友;而是某人的室友。)
如何安全地获取用户的身份信息,例如根证书?他们如何确定它不是信任假 X 的恶意版本? (当没人认识 Morgan 时,你如何介绍他,而没有得到一些自称 Morgan 的 Murphy 同事?)在我上面提到的企业场景之外,或者从付费证书开始的方式之外,我不知道有什么好处方式。
我刚刚为我将从我的网站分发的应用程序创建了一个 msi 安装程序。我使用 openSSL 对 msi 进行了数字签名。现在我的问题是:如何打包msi 以便它可以安装在用户的计算机上?我是否应该通过电子邮件向用户发送我创建的证书,以便他可以 运行 msi?在这种情况下,首选的处理程序是什么?
这实际上取决于您通过签署 MSI 试图实现的目标。如果你只是想让它安装,你已经完成了; Windows 不禁止安装未签名的 MSI 文件。如果您尝试获得绿色 UAC 提示,则签名证书需要可验证。这可以通过适当购买证书,或通过在每台目标计算机上安装 self-signed 证书或其根来完成。 (后者在企业内部常见,为企业自己签署的项目。)
但是,如果您试图真正确保安全,您很快就会遇到 chicken-and-egg 问题。用颁发给 X 的证书签名的文件应该确认这些位来自 X,并允许用户决定 X 是否值得信赖。这部分需要知道没有其他人可以使用声称已颁发给 X 的证书。如果您使用的是 self-signed 证书,或由 self-signed root 颁发的证书,则没有 built-in 身份验证链。 (不再是 Morgan child 的室友;而是某人的室友。)
如何安全地获取用户的身份信息,例如根证书?他们如何确定它不是信任假 X 的恶意版本? (当没人认识 Morgan 时,你如何介绍他,而没有得到一些自称 Morgan 的 Murphy 同事?)在我上面提到的企业场景之外,或者从付费证书开始的方式之外,我不知道有什么好处方式。