我应该将自签名证书提交给源代码管理吗?

时间:2014-08-18 14:50:51

标签: security version-control certificate

假设我们为每位客户生成自签名证书。它们在包/部署管道的某些部分中使用,最终在客户的本地计算机上。他们习惯于连接我们的网络服务。

我们应该将这些证书提交给源代码管理吗?存储库是私有的,只有同事可以访问。我是否应该出于某些安全原因将它们遗漏(即使这只是在意外暴露的情况下限制访问,更不用说恶意活动了)?

如果我们将它们排除在外,我们是否应该每次都将它们作为包/部署管道的一部分生成?或者将它们粘贴在一些安全的密钥库中并检索它们?

1 个答案:

答案 0 :(得分:1)

这是一种信任和曝光的情况。您信任那些有权访问存储库的人吗?请记住,大多数妥协来自内部人员。

我的想法是:

  • 根本不存储已部署的证书。为这些终端系统生成它们。通过根证书签名。
  • 将您的产品配置为信任由该根签名的证书建立的连接。这样,如果您的root被泄露,您可以批量撤销证书,或者根据需要选择性地撤销端点证书,而不会撤销所有内容。
  • 您可以使用任何公共标识符从系统的证书存储中引用证书,但不要存储私钥。
  • 使私钥可用应该是最终部署步骤,尽可能提高可见性。使其可供两个或三个用户使用,并使用平台的证书管理机制将公共证书绑定到私钥。