如何将加密信息存储在公共DVCS存储库中?

时间:2009-11-22 19:19:07

标签: git encryption distributed dvcs

我有多个开发人员正在开发的项目。我们都在使用相同的git存储库。

目前,我没有将生产服务器配置存储在存储库中,因为配置文件包含数据库凭据。

我想开始在存储库中存储这些配置,所以我在考虑加密配置文件,然后再将它们保存在DVCS中。

  1. 你们对这个想法有什么看法?
  2. 怎么会这样做?

2 个答案:

答案 0 :(得分:5)

为什么这些秘密需要存储在公共存储库中?

我会使用一种完全不同的机制来分发这些秘密,只有那些需要访问它们的管理员才能访问这些机密。

答案 1 :(得分:2)

我们对配置文件中的密码进行加密,并且应用程序使用在运行时以交互方式输入的密钥来解密它们。由于我们使用的配置系统,只需要修改配置解析器;应用程序代码本身不需要更改。

主要缺点是我们使用公钥算法,因此任何人都可以加密配置文件的值,但只有授权用户才能解密它们。这使得加密值更大(我们使用2048位RSA密钥,并使用Base-64进行编码),并且在配置文件中有点丑陋。

我们始终小心地将元数据与加密值一起编码。这标识了加密密钥,使用的算法以及算法所需的参数。这样,我们可以优雅地更改密钥或算法,在一段时间内进行迁移。

相关问题