如何签订MSI?(How to sign an MSI?)

2019-07-30 00:13发布

我公司希望阻止当客户安装我们的产品出现的UAC弹出窗口。 我们购买从VeriSign(威瑞信3类代码签名2010 CA)证书,我得到了一个MyCompany.cer文件。

我通过双击它并选择“个人”店安装了证书。 现在出现在证书管理单元,与其他几个证书一起。 该管理单元说,它的目的是进行“代码签名”。 我通过复制指纹得到了SHA1哈希。

我尝试用这个命令签署MSI:

signtool sign /sha1 <thumbprint> myInstaller.msi

并提示“SignTool错误:能够满足所有给定的标准,没有证书被发现了。”

如果我离开关“/ SHA1”我得到的大多数商店中其他证书的列表 - 即说,他们的目的是进行“<全部>”我的证书未列出的。

我究竟做错了什么?

Answer 1:

这是很老,但我希望它可以帮助别人。

首先,你需要检查你有那个.cer文件私有密钥,如果你打开它,你会看到一个钥匙图标的地方接着一句:

You have a private key for this certificate

请注意,你必须在生成德密钥对(与CSR)在同一台计算机上安装证书。 显然,如果你没有私钥,你不能签署任何东西。



文章来源: How to sign an MSI?