为什么需要 GPG 验证?
为了保证我们的账户以及数据的安全性,GitHub 提供了签名验证的功能,来确认每次的提交来自可信的来源。我们需要做的就是提供一个加密签名,供 github 进行验证。
未验证
在我们日常开发中,未进行签名验证, 提交的代码状态如下所示

已验证
当我们增加了签名验证后,给自己的 commit 进行加密传输。每次 commit 后的代码会弹出输入 purhase 的弹框。只有正确输入 purhase ,才会出现 verified的字样

在多人协作的项目中,仓库管理员可以根据需要,设置是否阻止未签名和验证的所有提交。
如何创建 GPG 签名?
1. 检查现有 GPG 密钥
gpg --list-secret-keys --keyid-format LONG
该命令列出同时具有公钥和私钥的GPG密钥。签名提交或标记需要私钥
可以看到此时我的电脑上并没有创建过密钥的记录
2. 生成新的 GPG 密钥
windows 系统下,打开 bash 面板。
gpg --default-new-key-algo rsa4096 --gen-key
注意:密钥必须使用 RSA,且长度不得少于4096
按照提示输入自己的昵称、邮箱、以及commit时的确认密码
遇到需要确认的问题可以直接按 enter

3. 查看并复制
gpg --list-secret-keys --keyid-format LONG
可以发现此时有了一个带有 ID 和邮箱的密钥
将此 ID 复制出来

执行以下命令将 ID 对应的密钥复制出来
gpg --armor --export 03CAB20EBF939F41F3209CDC6671CBC591A

然后就可以将-----BEGIN PGP PUBLIC KEY BLOCK-----这段输出的结果复制到粘贴板上
4. 填充至 github
打开自己的 Github 主页,找到 settings > SSH and GPG keys
新建一个 GPG KEY

将刚刚复制的密钥粘贴进来,点击保存即可
之后的提交都需要输入安全密码,虽然提交流程多了一步,但是提升了项目的安全性。
参考文档:
github-docs
为保证账户和数据安全,GitHub 提供签名验证功能。本文介绍了 GPG 验证的必要性,未验证和已验证状态下提交代码的情况,还详细说明了创建 GPG 签名的步骤,包括检查现有密钥、生成新密钥、查看复制密钥及填充到 GitHub,提升了项目安全性。
github 加个 GPG 签名验证&spm=1001.2101.3001.5002&articleId=109459051&d=1&t=3&u=3ff16dd0505f4bcf8ad41dec1f35a37e)
1710

被折叠的 条评论
为什么被折叠?



