代码之家  ›  专栏  ›  技术社区  ›  flipdoubt

在哪里存储代码签名证书的私钥?

  •  10
  • flipdoubt  · 技术社区  · 15 年前

    我最近为我的雇主获得了一个代码签名证书,但我不是InstallShield开发人员,他们在发布前会对二进制文件进行签名。我知道我可以导出证书及其私钥,但是我应该把它存储在哪里,以便InstallShield开发人员可以在他的计算机上安装它?一旦我把它交给签名的人,我应该把它从我的机器上取下来吗?我应该把主副本存放在哪里?显然,源代码管理不是最好的地方,除非我在SVN中锁定了该目录。

    4 回复  |  直到 15 年前
        1
  •  7
  •   Robert    15 年前

    对私钥实施安全策略

    记住:与已发布的已签名二进制文件一起使用的私钥是您公司的标识。处理此类密钥的策略不够严格。

    强制执行 是贵公司唯一有能力(并负责)签署可执行文件的人。

    如果这不是一个选择,那么就让所有涉及PKI的员工签署一份明确的保密协议,并处以高额罚款——结果应该是责任感更高。

    密钥转移

    • 使用便携式媒体(如专用U盘或CD-ROM)-我更喜欢只读媒体
    • 让另一个员工见证收据
    • 让收信人和证人在钥匙收据上签字。

    主副本的存储

    将主副本冗余存储在至少3个驱动器上的不同地理位置,您可以在这些位置进行独占访问。还可以考虑使用像aes-256这样的强加密算法(例如在7z文件中)对副本进行加密。

        2
  •  2
  •   NUXI    15 年前

    您不希望将其置于版本控制中是正确的。

    我想说你应该给你的IT部门一份这样他们才能备份它。给任何需要它的开发人员另一个副本(听起来只有一个需要它)。是否从机器上卸下取决于您自己。

    至于如何在计算机之间传输,U盘是一个显而易见的解决方案。

        3
  •  2
  •   Christopher Painter    15 年前

    如果您希望能够进行自动化构建,那么您必须将其放在构建系统可以访问的某个地方。

        4
  •  0
  •   Shadowman    15 年前

    安全的便携式媒体——比如加密的拇指驱动器——是一个不错的选择。如果你非常关心它,而且网上有很多钱,如果密钥被泄露,你甚至可能想看看硬件安全模块,比如 SafeNet . 它们将密钥存储在一个加固的设备或设备中,以确保密钥不会受到损害,即使您可以物理访问它。

    高铁的缺点是成本。他们能赚几万美元。但是,如果你有因为妥协而损失数百万美元的风险,这可能是一个小代价。