浏览 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

    gpg --expert --full-gen-key
    

    full-gen-key

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

    gpg --armor --export <YOUR_EMAIL>
    

    public-key

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

    git config --global user.signingkey YOUR_KEYID
    

    set-config

  4. 设置git自动签名

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

    git commit -m "message"
    

Verified 成功!

commit

最后放一下我的公钥,更多公钥可以看关于我

-----BEGIN PGP PUBLIC KEY BLOCK-----

mDMEW0AUxBYJKwYBBAHaRw8BAQdAEM1dt/N9Wyb0Hq7+Q4UpeongvQ6w94Y/QOr+
brjUIny0M2hhbHVsdSAoSGFsdWx1J3MgR1BHIGtleSB2MikgPGx6amx1emlqaWVA
Z21haWwuY29tPoiQBBMWCAA4FiEEpXrwqNWtBCXvC+3kHNlpk3l8mcEFAltAFMQC
GwMFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AACgkQHNlpk3l8mcH8igEA48oDyCxz
K73+c2HEtDcY5zEs0zrXf/OFJ69OK+B72ZABAOKy6ZFn+2AvX8yGTwgDIAa9ggi3
yTuOdEctUjDpy5MIuDgEW0AUxBIKKwYBBAGXVQEFAQEHQMG+EViMh+zQwMGR+/QS
oSZyXT5SahHD8EvLoxJ68zhIAwEIB4h4BBgWCAAgFiEEpXrwqNWtBCXvC+3kHNlp
k3l8mcEFAltAFMQCGwwACgkQHNlpk3l8mcHk0QD+MkNVql3v3yUCiEfN6kEh5LbF
dEuA67rdURo2dPPQl9wA/jfyRgOy5UyLDg+l4E7o+bTHHTsW0vj2V1+vVPg4228H
=Fd/e
-----END PGP PUBLIC KEY BLOCK-----