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

时间:2010-03-29 14:53:12

标签: svn certificate installshield code-signing

我最近为我的雇主获得了代码签名证书,但我不是将在分发之前签署二进制文件的InstallShield开发人员。我知道我可以将证书与其私钥一起导出,但是我在哪里存储它以便InstallShield开发人员可以将其安装在他的机器上?一旦我把它交给签字的人,我应该把它从机器上取下来吗?我在哪里存储主副本?显然,源代码控制并不是最好的地方,除非我在SVN中锁定该目录。

4 个答案:

答案 0 :(得分:8)

实施私钥的安全策略

请记住:与已发布的签名二进制文件一起使用的私钥是您公司的身份。处理这些密钥的政策不够严格。

强制是您公司中唯一能够(并负责)签署可执行文件的人。

如果这不是一个选项,那么让所有参与PKI的员工签署一份高额罚款的明确保密协议 - 应该是更高的责任感。

密钥转移

  • 使用便携式媒体(如专用的USB记忆棒或CD-ROM) - 我更喜欢只读媒体
  • 让收据由另一名员工见证
  • 让收件人和证人签署关于钥匙收据的表格

存储主副本

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

答案 1 :(得分:2)

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

我会说你应该给你的IT部门一份副本,以便他们可以备份。将另一个副本提供给任何需要它的开发人员(听起来只有一个人需要它)。是否将其从机器中取出取决于您自己。

至于如何在计算机之间传输,USB记忆棒是一个明显的解决方案。

答案 2 :(得分:2)

如果您希望能够进行自动构建,则必须将其置于构建系统可以访问的位置。

答案 3 :(得分:1)

安全的便携式媒体 - 就像加密的拇指驱动器一样 - 是一个不错的选择。如果您非常关注它并且如果密钥泄露,那么线路上会有很多钱,您甚至可能需要查看SafeNet提供的硬件安全模块。它们将密钥存储在强化设备或设备中,以确保密钥不会受到损害,即使您可以对其进行物理访问。

HSM的缺点是成本。他们可能会遇到数万美元。但是,如果你因为妥协而面临损失数百万美元的风险,那么付出的代价可能很小。