Skip to content

OpenPGP初探

1. GPG生成密钥

gpg --expert --full-gen-key - --expert 专家模式 - --full-gen-key 生成key

2. 生成撤销证书

gpg --gen-revoke -so revoke.gpg USERID

3. GPG显示密钥

gpg --list-secret-keys 或简化命令 gpg -K

  • --keyid-format long 输出长ID

  • --fingerprint 输出指纹信息

4. GPG导入密钥

从文件导入

gpg --import [file]

5. GPG导出密钥

(1). 导出公钥

gpg -ao public-key.txt --export USERID

(2). 导出私钥

导出主私钥

gpg -ao secret-key --export-secret-key 99F583599B7E31F1!

导出子密钥

gpg -ao sign-subkey --export-secret-subkeys FDB960B857D397F6!

  • "!"表示仅导出该密钥

6. GPG删除密钥

删除私钥

gpg --delete-secret-keys USERID

删除公钥

gpg --delete-keys USERID

7. 签名和验证

(1). 生成

-生成二进制签名文件

gpg --sign input.txt

生成ASCII格式签名

gpg --clearsign input.txt

签名和原文本分开 gpg --armor --detach-sign input.txt

  • 增加 --output参数,可以输出到文件

(2). 验证

验证签名文件

gpg --verify demo.txt.asc demo.txt

8. 加密和解密

(1). 加密

gpg --recipient {keyid/uid} --output encrypt.txt --encrypt input.txt

gpg -se -o encrypt.txt -r {keyid/uid} input.txt

(2). 解密

gpg --decrypt encrypt.txt --output decrypt.txt

gpg -d encrypt.txt