GPG 使用

本文仅介绍 GPG 基本的使用。

安装 GPG 2.x

需要确保使用 GnuPG v.2

sudo apt install gnupg2 # Ubuntu 16.04
sudo apt install gnupg  # Ubuntu 18.04

生成密钥(快速)

一次生成多个密钥:

gpg --full-generate-key

生成密钥(分步)

  1. 生成主密钥

    gpg --quick-generate-key 'NotFound <notfound@notfound.cn>' rsa4096 cert

    输出:

    pub   rsa4096 2019-02-16 [C] [有效至:2021-02-15]
          E609071A680F01521759F2AD6845FD9F1A3352AF
    uid                      NotFound <notfound@notfound.cn>
    • E609071A680F01521759F2AD6845FD9F1A3352AF 为密钥 ID,分为三种形态:
      • 指纹:完整的 40 个字符的密钥标识符
      • 长密钥 ID:指纹的最后 16 个字符
      • 短密钥 ID:指纹的最后 8 个字符
    • uid 为身份,可以拥有多个身份,其中第一个为主 UID
  2. 生成子密钥

    gpg --quick-add-key E609071A680F01521759F2AD6845FD9F1A3352AF rsa2048 encr # [E]加密子密钥
    gpg --quick-add-key E609071A680F01521759F2AD6845FD9F1A3352AF rsa2048 sign # [S]签名子密钥
    gpg --quick-add-key E609071A680F01521759F2AD6845FD9F1A3352AF rsa2048 auth # [A]验证子密钥

查看

查看 GPG Key 信息:

gpg --list-key E609071A680F01521759F2AD6845FD9F1A3352AF
gpg --with-keygrip --list-key E609071A680F01521759F2AD6845FD9F1A3352AF
gpg --with-subkey-fingerprint --list-key E609071A680F01521759F2AD6845FD9F1A3352AF

UID(身份)

一个 GPG KEY 可以拥有多个UID。 添加 UID:

gpg --quick-add-uid E609071A680F01521759F2AD6845FD9F1A3352AF 'Found <found@notfound.cn>'

选择主 UID:

gpg --quick-set-primary-uid E609071A680F01521759F2AD6845FD9F1A3352AF "Found <found@notfound.cn>"

公钥导入与导出

  1. 导出公钥

    gpg --export --armor --output public-key.txt E609071A680F01521759F2AD6845FD9F1A3352AF

    可以将导出的公钥添加到 GitHub\GitLab\Gitee 等

  2. 导入公钥

    gpg --import public-key.txt

参考

Linux 中国上有关于 PGP(GPG) 详细介绍,强烈推荐: