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

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

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

gpg4win

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

下面是使用教程:

  1. 创建密钥,注意必须有--expert才能选择ECC。虽然我个人比较喜欢secp256k1,但是出于对性能与安全的考虑,还是选择了Curve 25519

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

    full-gen-key

  2. 打印公钥,并上传到github

    1
    
    gpg --armor --export <YOUR_EMAIL>

    public-key

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

    1
    
    git config --global user.signingkey YOUR_KEYID

    set-config

  4. 设置git自动签名

    1
    2
    
    git config --global commit.gpgsign true
    git config --global tag.forceSignAnnotated true
  5. 之后每次commit都会让你输密码签名了

    1
    
    git commit -m "message"

Verified 成功!

commit

最后放一下我的公钥

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

mDMEW/ocVxYJKwYBBAHaRw8BAQdAzaKBbc8grWvn3H6e56HcycnLUV987hHNSNnV
LBMBA9a0EkhhbHVsdSA8aUBoYWx1Lmx1PoiQBBMWCAA4FiEE1ruyFg/GH8XGmNLk
hKbaiHoH5z0FAlv6HFcCGwMFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AACgkQhKba
iHoH5z04TgD+Mllzs6JdV8sgR4KqM2EDUTCo/4zgB4W6zmuts6FtZ0QBANJtUD8F
Ox1xQfHhpW6Pk1LKVEoar1Nl51eFBZstSdIBuDgEW/ocVxIKKwYBBAGXVQEFAQEH
QGC6GnSfsnXmhUIOwHqfHXARCSCvJl6NXCvTuIouCE4oAwEIB4h4BBgWCAAgFiEE
1ruyFg/GH8XGmNLkhKbaiHoH5z0FAlv6HFcCGwwACgkQhKbaiHoH5z1IkAEA/49f
oAQVGx12AphbNJlX9OkGbPDCcSz8RjM/gITI04QA/2job2FFac2vwYsRU4EPpqDb
alth+80T0ig1nA6NARkG
=lynZ
-----END PGP PUBLIC KEY BLOCK-----