【问题标题】:Code Signing Certificate Options代码签名证书选项
【发布时间】:2010-09-20 02:42:06
【问题描述】:

我的任务是为我的公司购买数字证书以签署我们的代码。我们在 Microsoft 领域开发应用程序 - 主要是 WPF 或基于 Web。

我已经调查了选项,发现 Comodo 价格合理且响应迅速,我们已准备好继续通过它们购买证书。但是在注册表单中有各种我不知道的私钥选项太确定了,即:

  1. CSP

    • Microsoft 基础加密提供程序
    • Microsoft Base 智能卡加密提供程序
    • Microsoft 增强加密提供程序 v1.0
    • Microsoft 软件加密提供程序
  2. 密钥大小

    • 1024
    • 2048
    • 4096
  3. 可导出?

    • 是/否
  4. 用户受保护?

    • 是/否

只是想知道这一切意味着什么,什么是满足我们要求的最佳选择?任何意见/建议将不胜感激

谢谢大家 格雷格

【问题讨论】:

    标签: cryptography certificate code-signing


    【解决方案1】:

    对于“大多数用途”,建议使用以下选项:

    • Microsoft 基础加密提供程序
    • 密钥大小:2048
    • 可导出:是
    • 用户保护:是

    说实话,我不熟悉不同的 CSP,但 Base 每次都为我完成这项工作。

    • 密钥大小使密钥更难破解,但中短期密钥(3-5 年)超过 2048 位就足够了 (恕我直言)。

    • Exportable 可让您导出私钥/证书对 - 对备份至关重要!

    • 用户保护意味着您每次要使用证书时都必须输入密码 - 强烈建议您使用您的证书防止意外或恶意签署代码。

    【讨论】:

      【解决方案2】:

      从历史上看,“基本”加密提供者对密钥长度有人为限制,而“增强”提供者则取消了限制。这使 Microsoft 能够遵守美国出口法律,在某些版本中删除了增强的提供程序。

      显然,随着出口法的变化,微软已经取消了对基本提供程序的限制,也允许更长的密钥长度(但为了兼容性而保留了名称)

      【讨论】:

        【解决方案3】:

        关于“Microsoft Software Cryptographic Provider”——我认为应该是“强大”(而不是“软件”)。

        在我工作的实践中,base 提供了 512 位的密钥长度(在最近的补丁之后不再支持或在 MS 服务器上工作 - 阅读 KB2661254)。您至少需要 1024,但 2048 是更好的选择。

        注意:可导出的私钥是备份和/或带到另一台服务器所需要的(我认为是签署代码/脚本所必需的),但它可能会落入坏人之手,因此可能会出现不受欢迎的脚本一旦您信任该证书,就在您的服务器上签名并运行!非常小心存储它的位置/方式,并使用强大的密码!

        仔细检查:您很可能需要在“受信任的发布者”中安装受信任的根 CA 证书(颁发代码签名证书的 CA)以及您的证书本身才能运行签名的 PowerShell 脚本。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-02-03
          • 1970-01-01
          • 2013-10-10
          • 2014-01-25
          • 2014-03-24
          • 2015-10-19
          • 2011-04-02
          • 2010-12-01
          相关资源
          最近更新 更多