7

我的公司希望防止客户安装我们的产品时出现 UAC 弹出窗口。我们从 VeriSign(VeriSign Class 3 Code Signing 2010 CA)购买了一个证书,我得到了一个 MyCompany.cer 文件。

我通过双击它并选择“个人”商店来安装证书。它现在与其他几个证书一起出现在证书管理单元中。该管理单元表示其预期目的是“代码签名”。我通过复制指纹获得了 SHA1 哈希。

我尝试使用以下命令对 msi 进行签名:

signtool sign /sha1 <thumbprint> myInstaller.msi

并收到一条消息“SignTool 错误:未找到符合所有给定条件的证书”。

如果我不使用“/sha1”,我会得到商店中大多数其他证书的列表——那些说它们的预期目的是“<All>”的证书没有列出。

我究竟做错了什么?

4

1 回答 1

3

这已经很老了,但我希望它可以帮助某人。

首先,您需要检查您是否拥有该 .cer 文件的私钥,如果您打开它,您应该会在某处看到一个 Key 图标,后跟以下句子:

You have a private key for this certificate

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

于 2014-03-18T22:25:30.163 回答