关于
Buy Me a Coffee
归档
友链
猫咪
RSS
后台
切换模式
返回顶部
首页
说说
日常
开发
游戏
资源
首页
说说
日常
开发
游戏
资源
关于
Buy Me a Coffee
归档
友链
猫咪
RSS
后台
Windows下使用GPG对Git Commit进行签名
开发
·
2020-08-21
·
更新于 2020-08-21
LiesAuer
### 安装Gpg4win 前往[官网](https://gpg4win.org/download.html)下载并安装`Gpg4win`。  注意安装时一定要勾选`Kleopatra`组件,我们需要使用这个工具来创建、管理证书。  然后选择安装目录时,一定要记得安装的目录在哪,建议直接复制下来,至于为啥,这里先卖个关子。  ### 创建、导入证书 安装完毕后,打开`Kleopatra`,然后选择`新建密钥对`,如果你已有证书的话也可以直接导入使用。  然后输入你的名字和邮箱,注意这里的邮箱一定要和你GitHub关联的邮箱一致,否则GitHub是不认你的签名的,因为邮箱对不上,名字则没有要求,然后高级设置,将有效期设为无期限。  确认你的信息是否无误  点击新建,然后会让你输入证书的密码,切记不要丢失了哦。  然后证书就这么简单的创建好了。  ### 导出证书 我们右键我们创建好的证书,选择`导出`以及`导出绝密密钥`,将证书以及私钥保存好,以便备用。  双击我们的证书,选择`生成吊销证书`,同样保存一份,吊销证书的用处是万一证书不小心泄露了,我们可以用吊销证书来把我们的证书吊销掉,以防歹人继续使用泄露的证书干坏事。  保存的私钥和吊销证书一定要保存妥当,不要泄露给别人。  ### 查看证书 此时我们终端输入`gpg -k`以及`gpg -K`应该能看到我们创建好的证书。`-k`查看公钥,`-K`查看私钥。  ### 导入GitHub 我们打开GitHub,进入[Settings->SSH and GPG keys->New GPG key](https://github.com/settings/gpg/new),将我们保存下来的证书公钥粘贴进去,注意是公钥不是私钥。  ### 配置Git签名 使用命令指定签名所使用的证书,这里的`key`就是我们之前查看证书所看到的那一串长长的东西 ```shell git config --global user.signingkey
```  如果你只想当前仓库签名 ```shell git config commit.gpgsign true ``` 如果所有仓库签名 ```shell git config --global commit.gpgsign true ``` 关闭签名 ```shell git config commit.gpgsign false ``` 然后我们创建一个新仓库测试签名效果,然而会发现报错了!报`No secret key`!  为什么呢?我们之前查看证书的时候不是看到都有吗?还记得我一开始卖的关子吗,其实是因为git默认使用的那个`gpg`程序并不是我们安装好的那个,所以我们还得配置成使用我们新安装的`gpg`。这里的安装目录就是我们`Gpg4win`的上一级,比如安装在`D:/Program Files (x86)/Gpg4win`的话,则是`D:/Program Files (x86)`。 ```shell git config --global gpg.program "<安装目录>/GnuPG/bin/gpg.exe" ``` 然后重新commit,你就发现签名成功了!这里`gpg`程序的坑弄了我好久。  然后推送至GitHub看看效果,你会发现带有一个绿标`Verified`。  ### 配置密码缓存时间 你们可能已经发现了,我们在提交的时候弹了个窗让我们输入密码  怎样可以去掉这个烦人的密码输入呢?我们打开`Kleopatra`,并选择`设置`菜单的`配置Kleopatra`  切换到`GnuPG系统`->`Private Keys`  默认的,密码缓存时间是600秒,即十分钟,设为`0`则每次都需要输入密码,个人建议是在私人电脑上设置`86400`秒,即一天一输。至此所有的配置都OK了。
git
github
如果您觉得文章或项目对您有帮助,戳我请博主喝一杯咖啡叭!
取消回复
提交评论
dw673j
2023-11-25
回复
好顶赞!!!!
poivre
2022-08-14
回复
太感谢了!No secret key 被 no secret key 这个报错折磨了很久很久!
瞅一瞅叭
个人接活
扒接口、爬虫、JS逆向
域名出售
uterminal.ai
服务器推荐
RackNerd 2C2G $20.98/年(美国 隐藏款)
狗云 1C0.75G ¥150/年(香港 BGP)
最新评论
DOL: 大佬,这个是不是抓不了群组消息,能读到群组的ID,但是下载不了
VIP: hi,QQ群什么时候再开vip,不出意外的话,进不了群mod拿不到
fff: 还有什么办法能把我的频道列举出来
fff: 大佬我也是这样https://ibb.co/85yyYzN
www: 配置文件填写后,运行exe 显示登录信息,然后就卡住了 ┌─...
从良未遂: 你好,我接入cloudflare后发现修改主题、发表文章、回复评...
colin: 所以用 windows 来开发是原罪
关于站长
广东 佛山
liesauer#liesauer.net
LiesAuer
CC BY-NC-SA 4.0
粤ICP备16094588号-1
萌ICP备20245567号
Theme
Jasmine
by
Kent Liao
好顶赞!!!!
太感谢了!No secret key 被 no secret key 这个报错折磨了很久很久!