Windows环境下配置GitHub GPG签名
使用 GPG 或 S/MIME,您可以在本地对标记和提交进行签名。 这些标记或提交在 GitHub 上标示为已验证,便于其他人信任更改来自可信的来源。
GitHub官方文档:https://docs.github.com/cn/authentication/managing-commit-signature-verification/about-commit-signature-verification
一、在Windows环境下安装GPG
下载地址
https://www.gnupg.org/download/index.html
安装完成后会有两个软件,都是管理密钥的,下文会讲到
配置系统环境变量
注:配置环境变量时选择你所安装软件的路径
此处为默认安装路径
检查环境变量是否生效
终端中输入
gpg --version
输出如下则环境变量生效
二、使用GPG生成密钥
1.打开终端或者 Git Bash 输入
gpg --full-generate-key
2.设置生成密钥
由于GitHub签名认证密钥必须使用 RSA
所以我们选择(1)RSA and RSA (default)
设置密钥尺寸选择4096,密钥尺寸越长加密越强。
设置密钥的有效期限,这里我选择的是密钥永不过期。
设置密钥的姓名,邮箱,描述
建议设置为GitHub用户名,GitHub绑定的邮箱
检查无误后输入O下一步
这时会弹窗提示你设置管理密钥的密码
此密码以后提交代码时候也要输入,请记牢
输入以下内容则密钥生成完成
打开可视化软件也能看见密钥已生成
三、新增 GPG 密钥到 GitHub 帐户
1.查看密钥
在终端中输入
gpg --list-secret-keys --keyid-format=long
图中 sec 所在行 rsa4096为你的密钥尺寸/后面为你的密钥ID
我这里是3BECCAC113E09805
在终端中输入
gpg --armor --export 你的密钥ID
复制 GPG 密钥,从
-----BEGIN PGP PUBLIC KEY BLOCK-----
开始,到-----END PGP PUBLIC KEY BLOCK-----
结束。
2.将GPG密钥添加到GitHub账户
单击个人资料照片,然后单击Settings
用户设置侧边栏中,单击 SSH and GPG keys
单击 New GPG key(新 GPG 密钥)
在 “Key”(密钥)字段中,粘贴在终端复制的 GPG 密钥
设置完成
四、在本地Git中配置密钥
1.查找你的GPG 密钥 ID
gpg --list-secret-keys --keyid-format=long
2.在 Git 中设置 GPG 签名密钥
git config --global user.signingkey 3BECCAC113E09805
3.设置Git提交时使用签名密钥
全局设置
git config --global commit.gpgsign true
当前项目设置
git config commit.gpgsign true
若提交代码时报错
gpg: skipped “3BECCAC113E09805”: No secret key
在Git中设置gpg的启动路径
git config --global gpg.program "C:\Program Files (x86)\GnuPG\bin\gpg.exe"