首页 > 解决方案 > 推送到 GIT 时如何加密或保护密钥?

问题描述

我正在使用 Spring Boot 开发应用程序,必须将一些密钥添加到文件中,但是在提交文件并将其推送到 Git 时,它不能对公众可见。

由于文件中的那些密钥需要安全,如何为这些文件提供安全性或任何加密?

标签: springgitspring-bootgithubgitlab

解决方案


如前所述,不要将这些文件推送到公共存储库或您认为团队中的其他开发人员不应访问的任何存储库。

您可以通过使用文件轻松确保这些文件不会以某种方式被提交.gitignore

gitignore - 指定有意忽略的未跟踪文件

请参阅:.gitignore 文档

这里是有用的.gitignore配置的集合: 有用的 .gitignore 模板的集合

与其使用加密,不如使用如下目录和 repo 结构:

项目目录:所有项目文件,没有秘密。

机密目录:仅限机密。

项目回购:公共存储库。

Secrets repo:私有存储库,可以访问受信任的开发人员。

然后在您的项目中,您只需在secrets 目录中引用必要的秘密。

如果您决定使用 GPG 加密(不推荐,因为您必须记住不要错误地推送未加密的文件),您可以使用基本的对称密码。在 Unix 机器上,安装 gpg 然后使用以下终端命令 - 它将请求密码并生成加密的 .gpg 文件。

-c,--对称加密仅使用对称密码

gpg -c secrets.txt

推荐阅读