浏览 Github 的时候看到很多的 commit 都是 Verified ,看起来贼高级,于是自己也想弄一个。

主要是参考了Github的教程,还是挺简单易懂的。我早就想用GPG了,就是因为嫌麻烦就一直没弄,但为了 Verified ,麻烦就麻烦吧哈哈。

对于windows系统直接使用gpg4win就可以了,如果你像我一样是ECC党,就一定要下载gpg2。我觉得GUI没啥用,直接下载了下图中的Simple installer,已经够用了。

gpg4win

我习惯于用git bash,所以我把下载安装了的gpg.exe复制到了git安装路径下的usr/bin文件夹,替换了自带的gpg1.4。

下面是使用教程:

创建密钥,注意必须有--expert才能选择ECC。建议选择Curve 25519

1
gpg --expert --full-gen-key

full-gen-key

打印公钥,并上传到github

1
gpg --armor --export <YOUR_EMAIL>

public-key

配置git签名时使用的key,,如果不知道KEYID可以通过gpg --list-key查看。

1
git config --global user.signingkey YOUR_KEYID

set-config

设置git自动签名

1
2
git config --global commit.gpgsign true
git config --global tag.forceSignAnnotated true

之后每次commit都会让你输密码签名了

1
git commit -m "message"

Verified 成功!

commit

最后放一下我的公钥

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
-----BEGIN PGP PUBLIC KEY BLOCK-----

mDMEXW56DBYJKwYBBAHaRw8BAQdAkRSBdwO3nWMcZNqreKf2gv7xamj4s+oTfodr
AzGojwW0MEhhbHVsdSAoSGFsdWx1IEdQRyBKaWhhaSkgPGx6amx1emlqaWVAZ21h
aWwuY29tPoiWBBMWCAA+FiEEVRMRkKd4seK9hT0EfLna+jjtoEkFAl1uegwCGwMF
CQHhM4AFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AACgkQfLna+jjtoEnfswD/b04y
iw2HeAxKJtQLX18sMh7LcBC2E1x+KbWOJqyow/sA/22Cx2pxQhodlfdksUVqIik7
W/EX/xdCachKwnkdX5kAuDgEXW56DBIKKwYBBAGXVQEFAQEHQCeSTP3pw2eHdNJq
baFuKUAAMQ2CPrG7CFEM0zjoFJRRAwEIB4h+BBgWCAAmFiEEVRMRkKd4seK9hT0E
fLna+jjtoEkFAl1uegwCGwwFCQHhM4AACgkQfLna+jjtoElndAD/TUFSX7kI28Gc
o32gM3tnmGLhyOMpOisl5Mv/Id+nOb4A+wR5/5pQaTXNFhAcNgtbZw6FTSgQT3/5
4dTpvME5mvAD
=8in2
-----END PGP PUBLIC KEY BLOCK-----