Windows环境下配置GitHub GPG签名

Windows环境下配置GitHub GPG签名

Timber 4,536 2021-12-01

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.设置生成密钥

  1. 由于GitHub签名认证密钥必须使用 RSA

    所以我们选择(1)RSA and RSA (default)

  2. 设置密钥尺寸选择4096,密钥尺寸越长加密越强。

  3. 设置密钥的有效期限,这里我选择的是密钥永不过期。

设置密钥的姓名,邮箱,描述

建议设置为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"