配置GPG公钥
什么是GPG公钥
GPG(GNU Privacy Guard)是一种用于数字签名和认证的手段。当用户需要将本地代码推送到代码托管仓库时,GPG公钥在Git中用于对代码的提交和Tag进行签名和验证,以确保提交的来源可信以及代码的完整性。用户可查看约束与限制,可参考配置GPG公钥操作步骤配置GPG公钥。
GPG公钥生成和使用过程如下:
- 生成GPG公钥。用户参考配置GPG公钥操作步骤生成一个由公钥和私钥组成的密钥对,且将GPG公钥配置到Repo,而私钥则严格保密。
- 签署数据。当开发者想要签署代码提交时,可以使用自己的私钥对其进行签名。
- 验证签名。 Repo作为接收者可以通过公钥来验证签名的真伪。如果验证成功,说明数据没有被篡改过,且数据来自于GPG公钥关联的用户。
配置GPG公钥操作步骤
- 在gpg4win官网下载GPG密钥生成工具。
- 在本地Git客户端执行gpg --full-generate-key命令,按照提示,依次选择加密算法、密钥长度、过期时间、正确性后,输入用户名、邮箱、注释,如图1所示。
- 确认信息无误后,按照提示,输入O并按回车键,弹出输入密码窗口和确认密码窗口,正确输入密码后生成密钥。
出现图2所示的信息,说明GPG密钥生成成功。
- 执行如下命令,导出公钥。
gpg --armor --export
- 用户登录代码托管服务仓库列表页,单击右上角昵称,选择“个人设置 > 代码托管 > GPG公钥”,进入GPG设置页面。
- 单击“新建GPG公钥”按钮,进入新建GPG公钥页面,填写如下参数:
表1 新建GPG公钥参数列表 参数
说明
GPG标题
自定义GPG公钥名称,限制在200字符以内。
GPG公钥
将4中复制的GPG公钥粘贴到此输入框。
描述
非必填参数。当描述为空,列表显示--,字符上限为200。
- 单击“确定”,如果成功新建GPG公钥,那么将返回到GPG公钥列表页面。当用户确认不再使用该GPG公钥时,可以删除此公钥。
如果添加失败,请检查用户是否已经添加过此公钥、粘贴时前后是否有多余的空格。