【问题标题】:Best practice to sign InstallShield setup and include intermediate certificates签署 InstallShield 设置并包含中间证书的最佳实践
【发布时间】:2012-04-02 14:58:50
【问题描述】:

我有证书来签署我的 InstallShield 设置。今年我们更新证书时,现在依赖于中间证书“thawte code signing ca - g2”。

我们担心我们的许多客户可能没有安装这个中间根证书(实际上我们自己的构建服务器没有它,因此在更新证书后构建开始失败),因此他们将获得“未经验证的发布者” " 错误。

分发该中间证书的最佳做法是什么?有什么办法可以改变认证路径,让它只依赖于更常见的“thawte code signing ca”?

如果有任何帮助,我将不胜感激。

谢谢, 桑杰

【问题讨论】:

    标签: installshield certificate thawte


    【解决方案1】:

    我终于弄清楚了这个问题。事实证明,当您导出 pfx 文件时,可以选择在 pfx 文件中包含证书根。以下是我在安装了从 thawte 获得的证书的 Windows 机器上执行的操作。 1. 从开始->运行->certmgr.msc 打开证书存储 2. 导出证书。 3. 确保选择包含私钥。 4. 然后您可以选择包含根证书 - 默认情况下未选中。检查一下。

    【讨论】:

      【解决方案2】:

      微软有一个受信任的根程序,当前包含以下成员:

      Windows Root Certificate Program - Members List (All CAs)

      对于分发给公众的应用程序,最佳做法是获取由这些根之一备份的代码签名证书。对于内部企业应用程序(IT、DoD ectera),您可以使用其他应用程序,前提是您有一种方法可以代替分发证书的根。 InstallShield 目前无法直接执行此操作,但可以使用调用 CAPI / CAPICOM / .NET X509 类的自定义操作。

      顺便说一句,当您查看证书详细信息时,请一直查看第一个条目以了解根是谁。例如,我的证书说 COMODO Code Signing 2,但在上面说的是 USERTrust。当我查看 USERTrust 证书时显示“UTN-UserFirst-Object”。然后可以在上面链接的 Microsoft 网页上找到该名称。

      【讨论】:

      • 非常感谢克里斯的详细解释。所以我查看了那个链接,发现那里没有列出“解冻代码签名 ca-G2”。当用户没有安装此证书并尝试查看我们的 setup.exe 的属性时 - 他看到“无法验证签名中的证书”。因此,即使我们进行一些编码以在自定义操作上安装证书,我们也不会解决此特定问题。我想我现在唯一的选择是获得由上述链接中列出的任何证书备份的证书?
      • 如果您希望它在尽可能多的机器上工作而无需任何干预,是的。谷歌“廉价代码签名”以获取与我使用的提供商相关的信息。
      猜你喜欢
      • 1970-01-01
      • 2019-01-19
      • 2013-03-03
      • 1970-01-01
      • 2016-10-25
      • 2021-03-25
      • 2011-08-08
      • 2023-03-07
      • 1970-01-01
      相关资源
      最近更新 更多