GPG

GPG 密钥的生成与使用

用 GPG 来进行签名认证

ZingLix April 4, 2021

生成密钥

1
$ gpg --full-generate-key

检查已有密钥,下图所示 id 为 3AA5C34371567BD2

1
2
3
4
5
6
$ gpg --list-secret-keys --keyid-format LONG
/Users/hubot/.gnupg/secring.gpg
------------------------------------
sec   4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10]
uid                          Hubot 
ssb   4096R/42B317FD4BA89E7A 2016-03-10

用对应 id 导出公钥,并添加到 GitHub

1
2
$ gpg --armor --export 3AA5C34371567BD2
# Prints the GPG key ID, in ASCII armor format

让 git 使用 gpg 签名

1
$ git config --global user.signingkey 3AA5C34371567BD2

让 git 默认签名所有提交

1
$ git config --global commit.gpgsign true

备份及恢复

1
2
3
4
5
6
7
8
# 备份公钥
gpg -o filename --export 3AA5C34371567BD2

# 导出私钥
gpg -o filename --export-secret-keys 3AA5C34371567BD2

# 导入
gpg --import filename