1 密钥管理
1.1 生成密钥
交互式生成密钥:
gpg --full-generate-key
无交互式生成密钥(以 Ed25519 为例):
gpg --batch --yes \
--pinentry-mode loopback \
--passphrase '' \
--quick-generate-key "Your Name <you@example.com>" ed25519 sign 0
无交互式生成密钥(以 RSA 4096 为例):
gpg --batch --yes \
--pinentry-mode loopback \
--passphrase '' \
--quick-generate-key "Your Name <you@example.com>" rsa4096 sign 0
1.2 查看密钥
查看公钥:
gpg --list-keys
查看私钥:
gpg --list-secret-keys
1.3 删除密钥
删除私钥:
gpg --delete-secret-keys <KEY_ID>
删除私钥(无交互式):
gpg --batch --yes --delete-secret-keys <KEY_ID>
删除公钥:
gpg --delete-keys <KEY_ID>
删除公钥(无交互式):
gpg --batch --yes --delete-keys <KEY_ID>
2 导入导出
2.1 导出公钥
gpg --armor --export <KEY_ID>
2.2 导出私钥
gpg --armor --export-secret-keys <KEY_ID>
2.3 导入公钥
gpg --import gpg.public.txt
2.4 导入私钥
gpg --import gpg.private.txt
3 信任与指纹
3.1 查看指纹
gpg --fingerprint <KEY_ID>
3.2 设置密钥为“绝对信任”
echo '<KEY_ID>:6:' | gpg --import-ownertrust
4 Git 场景
4.1 配置 Git 使用 GPG
git config commit.gpgsign true
git config user.signingkey <KEY_ID>