# 安装GPG
Windows 推荐安装 Gpg4win
来进行密钥的签发、管理。
SHA256: f83be101c5e9c23740d6fde55fd8fefebf4fafb7badcb3756d1f574b5ad37507
下载速度可能会有点感人。
# 安装过程
安装时默认勾选了 Kleopatra
,这是可视化管理前端。至于 GPA
和 Browser integration
,我也选上了,指不定后面要用到?
之后选择安装位置,C盘空间够的话默认就行。
# 创建密钥
安装完成后默认打开 Kleopatra
,点击 新建密钥对
即可。如果你原来就有密钥,直接导入即可。
记得这里的邮箱要和你 GitHub/GitLab/Coding 的账号所使用的邮箱是一致的,否则GitHub不会信任创建的密钥对。
推荐点击高级设置,取消勾选 有效期结束于
,这样就能生成一对不会过期的密钥了。
密钥类型推荐RSA,4096位。
稍事等待即可。
创建成功,可以开始使用了。
双击列表里刚刚创建的证书。记得生成吊销证书,以便在以后需要吊销该证书时能快速传达。 点击导出,弹出你刚刚创建的公钥内容,复制即可。
# 使用密钥
GitHub/GitLab/Coding 的配置都是相仿的。
GitHub在 https://github.com/settings/keys 处点击 New GPG Key
,粘贴公钥内容即可。
其他两个稍微找找也能找到,我就不再赘述了。
# 配置Git签名
首先获取密钥的编号。
命令行的方法是
|
|
输出
|
|
然后指定该密钥:{key} 替换成密钥编号/ID即可。点击更多细节或者认证,都可以看到。我这里就是9BB2556C2DA6CF80
|
|
只给当前仓库签名
1
git config commit.gpgsign true
给所有仓库签名
1
git config --global commit.gpgsign true
# 问题修复
参考 该问题 的回答的回答,提醒了我可能是gpg软件路径问题,一看果然是,默认路径是不存在任何东西的。
由于Windows上咱安装的是 Gpg4win
,所以与 Git 以为的路径会有所差别,导致 Git 在验证签名时出错。所以需要指定gpg的地址,如下:
|
|
如果是默认安装C盘的话,应当是 C:\Program Files (x86)\GnuPG\bin\gpg.exe
# 完成
之后就可以推送到GitHub 之类的代码托管平台查看效果了。会出现绿色的 Verified
标。完成啦!