PGP密钥使用指南

生成密钥对

# 交互式生成密钥 gpg --full-generate-key # 非交互批量模式 gpg --batch --gen-key <<EOF %no-protection Key-Type: RSA Key-Length: 4096 Subkey-Type: RSA Subkey-Length: 4096 Name-Real: Your Name Name-Email: [email protected] Expire-Date: 2y EOF

密钥管理

# 列出公钥 gpg --list-keys # 导出公钥 gpg --export --armor [email protected] > public.asc # 导出私钥(妥善保管!) gpg --export-secret-keys --armor [email protected] > private.asc # 导入密钥 gpg --import public.asc

加密和解密

# 加密文件 gpg --encrypt --armor --recipient [email protected] file.txt # 解密 gpg --decrypt file.txt.asc > file.txt # 加密并签名 gpg --encrypt --sign --armor -r [email protected] file.txt

签名和验证

# 生成分离签名 gpg --detach-sign --armor file.txt # 验证签名 gpg --verify file.txt.asc file.txt # 内联签名文本 gpg --clearsign message.txt

密钥服务器操作

# 上传到密钥服务器 gpg --keyserver keys.openpgp.org --send-keys KEYID # 搜索密钥服务器 gpg --keyserver keys.openpgp.org --search-keys [email protected] # 接收/刷新密钥 gpg --keyserver keys.openpgp.org --recv-keys KEYID
概念 说明
公钥可公开分享,他人用于加密发给你的消息
私钥保密,用于解密和签名
指纹40位十六进制密钥唯一标识
信任网络PGP 的去中心化信任模型