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

发布于 2024-08-27 03:56:24 字数 194 浏览 7 评论 0原文

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

I recently acquired a code signing certificate for my employer, but I am not the InstallShield developer who will sign the binaries before distribution. I know I can export the certificate along with its private key, but where do I store it so the InstallShield developer can install it on his machine? Should I remove it from my machine once I give it to the person doing the signing? Where do I store the master copy? Obviously, source control is not the best place, unless I lock down that directory in SVN.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

忱杏 2024-09-03 03:56:24

执行私钥安全策略

请记住:私钥与已发布的签名二进制文件相结合就是您公司的身份。处理此类密钥的策略还不够严格。

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

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

密钥传输

  • 使用便携式介质(如专用 USB 记忆棒或 CD-ROM) - 我更喜欢只读介质
  • 让另一名员工见证收据
  • 让接收者和见证人签署一份有关密钥收据

的 表格主副本

将主副本冗余存储在您拥有独占访问权限的不同地理位置的至少 3 个驱动器上。还要考虑使用 AES-256 等强大的加密算法(例如在 7z 文件中)对副本进行加密。

Enforce Security Policies for Private Keys

Remember: a private key in conjunction with released signed binaries is your company's identity. Policies for handling such keys can't be strict enough.

Enforce that YOU are the only persion in your company who will be capable (and responsible) of signing executables.

If this is not an option then let all PKI-involved employees sign an explicit non-disclosure agreement with a high fine - a much higher sense of responsibility should be the result.

Key Transfers

  • use portable media (like a dedicated USB stick or CD-ROM) - I'd prefer a read-only media
  • let the receipt be witnessed by another employee
  • let the recipient and the witness sign a form about the key-receipt

Storage of the Master Copy

Store the master copy redundant on at least 3 drives at different geographical locations where you have exclusive access to. Also think about encrypting the copies with strong encryption algorithms like AES-256 (in a 7z file for example).

神魇的王 2024-09-03 03:56:24

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

If you expect to be able to do automated build you are going to have to put it somewhere the build system can gain access to.

瑾夏年华 2024-09-03 03:56:24

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

我想说您应该向 IT 部门提供一份副本,以便他们进行备份。向任何需要它的开发人员提供另一份副本(听起来只有一个人需要它)。是否将其从计算机上删除取决于您。

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

You are correct to not wish to place it in version control.

I would say you should give one copy to your IT department so they can back it up. Give another copy to any developers who need it (sounds like only one needs it). Whether or not you remove it from your machine is up to you.

As for how to transfer it between computers, a USB stick is an obvious solution.

徒留西风 2024-09-03 03:56:24

安全的便携式媒体(例如加密的拇指驱动器)是一个不错的选择。如果您非常担心它,并且如果密钥被泄露,您可能会面临很大的损失,您甚至可能需要研究硬件安全模块,例如 SafeNet。他们将密钥存储在加固的设备或设备中,以确保密钥不会被泄露,即使您可以物理访问它。

HSM 的缺点是成本。他们的花费可能高达数万美元。但是,如果您因妥协而面临损失数百万美元的风险,那么付出的代价可能很小。

Secure, portable media -- like an encrypted thumb drive -- is a good option. If you're extremely concerned about it and there's a lot of money on the line if the key is compromised, you may even want to look into Hardware Security Modules like those provided by SafeNet. They store the key in a hardened device or appliance to ensure that the key can't be compromised, even if you have physical access to it.

The downside to an HSM is cost. They can run into the tens-of-thousands of dollars. But, if you're at risk for losing millions because of a compromise, it may be a small price to pay.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文