me

PGP


MAC 上配置 PGP 密钥

请参考:https://gist.github.com/Peredery/38d0538dd34381bbd9d13414269a1f27

PGP

一个 GPG(GNU Privacy Guard)密钥实际上是一对密钥,它们由以下几部分组成:

生成密钥

gpg --full-generate-key

查看信息

查看公钥信息

gpg --list-keys
gpg --list-keys --keyid-format LONG

公钥的完整格式如下:

pub   rsa3072/1E4C46XX01BEA325 2023-05-10 [SC]
      5F0E8C2DC8305C37DDBB83C51E4C46DD01BEA325
uid                 [ultimate] XCF (XY) <xxxx@gmail.com>
sub   rsa3072/E626729XHJC37E8C 2023-05-10 [E]

查看私钥信息

gpg --list-secret-keys
gpg --list-secret-keys --keyid-format LONG

查看特定密钥的信息

gpg --list-sigs [key-id]
gpg --list-secret-sigs [key-id]

查看指纹

gpg --fingerprint [key-id]

GPG 密钥服务器

设置 keyserver:在 ~/.gnupg/gpg.conf 中添加:

keyserver hkp://keys.openpgp.org
keyserver hkp://keyserver.ubuntu.com

上传公钥

# 使用默认的 keyserver
gpg --keyserver --send-keys [key-id]
# 使用指定的 keyserver
gpg --keyserver hkp://keys.openpgp.org --send-keys [key-id]

导入/导出

导出公钥/私钥

# 导出公钥
gpg --export -a [email/ID] > mypublickey.asc
# 导出私钥
gpg --export-secret-keys -a [email/ID] > myprivatekey.asc

导入公钥/私钥

# 导入公钥
gpg --import mypublickey.asc
# 导入私钥
gpg --allow-secret-key-import --import myprivatekey.asc

签名和加密

签名/验证文件

gpg [-u email/ID] --sign [file]
gpg [-u email/ID] --detach-sign [file]
gpg --verify [sign_file] [file]

加密/解密文件

使用接收者的公钥加密文件,email/ID 是接收者的邮箱或 ID,需要接收者的私钥才能解密。

gpg --encrypt --recipient [email/ID] [file]

解密文件:

gpg --decrypt [file]

签名对方的公钥

查看签名

gpg --recv-keys [email/ID]
gpg --list-sigs [ID]
gpg --check-sigs [ID]