gpg

来自百合仙子's Wiki
跳转到导航 跳转到搜索

加密

gpg --encrypt --recipient 'Your Name' foo.txt

解密

gpg --output foo.txt --decrypt foo.txt.gpg

签名

生成签名文件。生成的文件会放在与 FILE 相同的路径,但是多了后缀 .sig

gpg --detach-sign -u KEY FILE

添加 --armor 参数可以生成文本型的签名(.asc)。

使用 --sign 来将消息和签名置于同一文件。

使用 --clear-sign 来生成直接可读(不需要解密)的已签名消息。

密钥管理

生成密钥

生成私钥:

gpg --gen-key

生成公钥:

gpg --armor --output public.key --export <your email>

导入/导出

导出私钥

gpg --export-secret-keys keyname > keyfile

从服务器导入公钥

gpg --recv 8B09D5F7

信息

显示指定 key 的指纹:

gpg --fingerprint keyname

显示指定文件内的 key 的信息:

gpg --with-fingerprint xxxx.key

签名公钥

本地(不能被导出)签名他人的公钥

gpg --lsign-key keyname

问题处理

强制在终端询问密码

有时候无法访问 GUI 弹窗,可手动启动一个 gpg-agent 进程:

systemctl --user stop gpg-agent.service gpg-agent.socket
gpg-agent --daemon --pinentry-program=/usr/bin/pinentry-curses

恢复:

killall gpg-agent
systemctl --user start gpg-agent.socket

参见

外部链接

漫画