在之前的 使用Git-Crypt和GPG加密Git代码库中的敏感信息(一)介绍了git-crypt的一般用法,通过分发密匙达到加解密仓库中敏感数据的目的,但通过分发密钥,容易造成密钥泄露,实际应用中会结合GPG的公私钥来来分发Git-Crypt 加解密仓库敏感信息的权限 ,如果对GPG不了解可以阅读GPG加密与数字签名以及在Git 中使用GPG签名提交 了解一下GPG的基本用法。
git-crypt 添加GPG公钥用户
GPG 的私钥和公钥其实代表了拥有这个GPG公私钥的用户的身份,可以通过使用git-crypt命令添加GPG 公钥用户到使用git-crypt加密敏感数据的git 代码仓库,从而让此GPG 公钥用户有git-crypt unlock的权限,具体操作使用如下命令。
首先获取当前机器的GPG 公钥列表
PS C:\Users\David> gpg --list-keys --keyid-format=long
[keyboxd]
---------
pub rsa1024/B26A154E6EE71E72 2024-02-20 [SC] [expires: 2034-02-17]
96964DABF5A3A10BE371FB34B26A154E6EE71E72
uid [ultimate] David Wang <davidwang@gmail.com>
sub rsa1024/C1305211C9667A9E 2024-02-20 [E] [expires: 2034-02-17]
然后在代码从仓库根目录运行如下命令
git-crypt add-gpg-user B26A154E6EE71E72
这个命令会在根目录下创建一个使用keyid匹配的GPG 公钥加密git-crypt init产生的用于加解密代码仓库敏感信息的对等密匙产生的文件。这里有两层密钥,第一层是git-crypt init产生的密钥,这是一个对等密匙,用于加解密仓库敏感信息&