首先获取当前机器的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产生的密钥,这是一个对等密匙,用于加解密仓库敏感信息,第二层密钥是GPG 公钥,上面的命令使用GPG公钥加密第一层git-crypt init命令产生的密钥,将加密后的密钥内容保存成文件。效果如下图所示。
这样,下次使用git-crypt unlock 解密的时候,就不用传密钥文件参数给git-crypt unlock命令了,git-crypt 会自动遍历根目录下.git-crypt目录下的密钥文件,并尝试比对看本机有没有安装相对应的GPG私钥来解密这个.git-crypt目录下的密钥文件以获得GPG公钥加密后的git-crypt的对等加密密钥,如果本机有对应GPG私钥可以解密,然后就使用GPG私钥解密加密后的密钥文件获取git-crypt 密钥,然后使用git-crypt密钥加解密代码仓库中的加密过的敏感信息文件。如下所示。
先测试加密
在测试解密
输入私钥密码后
可以看到通过添加GPG user之后使用git-crypt unlock命令之后,不用传密钥文件参数来解密了。
git-crypt 添加新GPG公钥用户
通过这样的方式如果想要别人也有使用git-crypt 加解密仓库中的敏感信息,就可以让别人发送他的GPG公钥给你,然后你把对方的公钥导入到你机器上,然后通过git-crypt add-gpg-user 来使用它的gpg文件来加密git-crypt 密钥并在.git-crypt 文件生成一个加密密钥文件并提交push到远程代码仓库,这样别人在本地重新拉取代码后就也可以使用git unlock命令解密代码库中的敏感信息了,因为.git-crypt目录下包含了使用它的gpg 加密git-crypt密钥生成的加密密钥文件,而它本机装有自己的GPG私钥,所以git-crypt unlock 的时候就可以使用它自己的gpg 解密加密密钥文件获取git-crypt 密钥然后解密仓库敏感信息了,具体操作步骤如下。
导入别人GPG公钥
PS D:\projects\ecpcb\galaxy-core> gpg --import .\davidpub2.asc
gpg: key 9C796163E291AF14: public key “david.wang davidwang@gmail.com” imported
gpg: Total number processed: 1
gpg: imported: 1
PS D:\projects\ecpcb\galaxy-core>
此时再看本机GPG 公钥列表
PS D:\projects\ecpcb\galaxy-core> gpg --list-keys --keyid-format long [keyboxd]
pub rsa1024/B26A154E6EE71E72 2024-02-20 [SC] [expires: 2034-02-17]
96964DABF5A3A10BE371FB34B26A154E6EE71E72
uid [ultimate] David Wang davidwangqing@live.com
sub rsa1024/C1305211C9667A9E 2024-02-20 [E] [expires: 2034-02-17]
pub rsa2048/9C796163E291AF14 2024-03-04 [SC]
F49C56FF5264AB5CF5F6A3E09C796163E291AF14
uid [ unknown] david.wang davidwang@gmail.com
sub rsa2048/7793195898DF2C11 2024-03-04 [E]
PS D:\projects\ecpcb\galaxy-core>
设置你对导入的GPG公钥的信任级别到ultimately , 不然git-crypt 添加GPG公钥用户会报错
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数大数据工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年大数据全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上大数据开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注大数据获取)
义、实战项目、讲解视频,并且后续会持续更新**文章来源:https://www.toymoban.com/news/detail-849605.html
如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注大数据获取)
[外链图片转存中…(img-MygRjKDU-1712553096988)]文章来源地址https://www.toymoban.com/news/detail-849605.html
到了这里,关于使用Git-Crypt和GPG加密Git代码库中的敏感信息(二)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!