我最近为我的雇主获得了代码签名证书,但我不是将在分发之前签署二进制文件的InstallShield开发人员。我知道我可以将证书与其私钥一起导出,但是我在哪里存储它以便InstallShield开发人员可以将其安装在他的机器上?一旦我把它交给签字的人,我应该把它从机器上取下来吗?我在哪里存储主副本?显然,源代码控制并不是最好的地方,除非我在SVN中锁定该目录。
答案 0 :(得分:8)
请记住:与已发布的签名二进制文件一起使用的私钥是您公司的身份。处理这些密钥的政策不够严格。
强制您是您公司中唯一能够(并负责)签署可执行文件的人。
如果这不是一个选项,那么让所有参与PKI的员工签署一份高额罚款的明确保密协议 - 应该是更高的责任感。
将主副本存储在至少3个驱动器上,这些驱动器位于您可以独占访问的不同地理位置。还要考虑使用强大的加密算法(如AES-256)加密副本(例如,在7z文件中)。
答案 1 :(得分:2)
您不希望将其置于版本控制中,这是正确的。
我会说你应该给你的IT部门一份副本,以便他们可以备份。将另一个副本提供给任何需要它的开发人员(听起来只有一个人需要它)。是否将其从机器中取出取决于您自己。
至于如何在计算机之间传输,USB记忆棒是一个明显的解决方案。
答案 2 :(得分:2)
如果您希望能够进行自动构建,则必须将其置于构建系统可以访问的位置。
答案 3 :(得分:1)
安全的便携式媒体 - 就像加密的拇指驱动器一样 - 是一个不错的选择。如果您非常关注它并且如果密钥泄露,那么线路上会有很多钱,您甚至可能需要查看SafeNet提供的硬件安全模块。它们将密钥存储在强化设备或设备中,以确保密钥不会受到损害,即使您可以对其进行物理访问。
HSM的缺点是成本。他们可能会遇到数万美元。但是,如果你因为妥协而面临损失数百万美元的风险,那么付出的代价可能很小。