简介
GnuPG(GNU Privacy Guard,GPG)是一款开源软件,用于非对称加密。它是满足 GPL 协议的 PGP(Pretty Good Privacy)加密软件实现。GnuPG 依照由 IETF 制定的 OpenPGP 技术标准设计,用于加密、数字签章及产生非对称密钥对。GPG 与 PGP 功能兼容。
如果你想发送加密信息,首先你需要得到接收者的公钥,然后通过该公钥对信息进行加密传输,接收者使用私钥就可解密并读取文件。同时,你也可以在公共网络用数字签章表明身份和安全性。
GPG
安装
在 Linux 系统中,GnuPG 通常已经被默认安装。在 Windows 和 macOS 系统中,你可以从 GnuPG 官方网站 下载安装。
配置
生成密钥
常用命令
查看
编辑
GPG 以下命令需要进入编辑密钥页面。
命令 | 描述 | 示例 |
---|---|---|
quit | 退出此菜单 | 无需示例,直接输入 quit 即可 |
save | 保存并退出 | 无需示例,直接输入 save 即可 |
help | 显示此帮助 | 无需示例,直接输入 help 即可 |
fpr | 显示密钥指纹 | fpr |
list | 列出密钥和用户标识 | list |
uid | 选择用户标识 N | uid 1 |
key | 选择子密钥 N | key 1 |
check | 检查签名 | check |
sign | 为所选用户标识添加签名 | uid 1 , 然后 sign |
lsign | 为所选用户标识添加本地签名 | uid 1 , 然后 lsign |
tsign | 为所选用户标识添加信任签名 | uid 1 , 然后 tsign |
adduid | 增加一个用户标识 | adduid , 然后按提示操作 |
deluid | 删除选定的用户标识 | uid 1 , 然后 deluid |
addkey | 增加一个子密钥 | addkey , 然后按提示操作 |
delkey | 删除选定的子密钥 | key 1 , 然后 delkey |
expire | 变更密钥或所选子密钥的使用期限 | key 1 , 然后 expire , 接着按提示输入新的到期日 |
passwd | 变更密码 | passwd , 然后按提示输入新密码 |
trust | 变更信任度 | trust , 然后按提示选择新的信任级别 |
revsig | 吊销所选用户标识上的签名 | uid 1 , 然后 revsig |
revuid | 吊销选定的用户标识 | uid 1 , 然后 revuid |
revkey | 吊销密钥或选定的子密钥 | key 1 , 然后 revkey |
enable | 启用密钥 | enable |
disable | 禁用密钥 | disable |
clean | 压缩不可用的用户标识并从密钥上移除不可用的签名 | clean |
minimize | 压缩不可用的用户标识并从密钥上移除所有签名 | minimize |
导出
在这里,--armor
选项会生成.asc 后缀的 ASCII 类型的文本文件,如果不使用该选项,则会生成.gpg 后缀的二进制文件。
导入
公布
删除
常用选项
命令选项 | 描述 | 示例 |
---|---|---|
—list-keys | 列出所有的密钥 | gpg --list-keys |
—gen-key | 生成新的密钥对 | gpg --gen-key |
—delete-key | 删除密钥 | gpg --delete-key [key-id] |
—import | 导入密钥 | gpg --import [key-file] |
—export | 导出公钥 | gpg --export -a "User Name" > public.key |
—armor | 创建 ASCII 字符格式的输出(用于在邮件等场合) | gpg --armor --export [key-id] |
—encrypt | 加密文件 | gpg --encrypt --recipient [key-id] [file] |
—decrypt | 解密文件 | gpg --decrypt [file] |
—sign | 生成只有你自己可以识别的签名文件 | gpg --sign [file] |
—verify | 验证签名文件 | gpg --verify [file] |
—edit-key | 编辑密钥的详细设置,例如添加/删除别名、设置过期时间等 | gpg --edit-key [key-id] |
—send-keys | 将密钥发送到 keyserver | gpg --send-keys [key-id] |
—recv-keys | 从 keyserver 接收密钥 | gpg --recv-keys [key-id] |
—refresh-keys | 从 keyserver 更新所有密钥的信息 | gpg --refresh-keys |
—full-generate-key | 使用全面设置来生成新的密钥对 | gpg --full-generate-key |
—quick-add-uid | 快速添加新的用户 ID 到现有的密钥 | gpg --quick-add-uid [key-id] [User ID] |
—change-passphrase | 改变密钥的保护密码 | gpg --change-passphrase [key-id] |