第 2.b 步 生成密钥的一些重要步骤
上传公钥到密钥服务器
我们将公钥上传到密钥服务器,想给你发送加密信息的人现在可以从因特网上下载到你的公钥了。上传时菜单中有多个密钥服务器可供选择,它们拥有彼此的完整副本,所以你选择哪一个无关紧要,但最好记住上传密钥的原始服务器。请注意,新密钥上传后,服务器间可能要数小时才能完成同步。
# 复制 KeyID:gpg --list-key [你的邮箱]
这条命令将列出公钥信息,它包括
KeyID,这是一串由数字字母组成的独一无二的字符。复制 KeyID,你将在下面命令中使用它。
# 上传密钥到服务器:gpg --send-key [keyID]
导出密钥
使用下面命令导出私钥,并在下一步中导入到电邮客户端中。将它储存在安全的地方,如果需要转移密钥,请保证以可信的方式传输,避免泄露私钥。使用下面命令导出密钥:
$ gpg --export-secret-keys -a [keyID] > my_secret_key.asc
$ gpg --export -a [keyID] > my_public_key.asc
创建吊销证书
你需要生成吊销证书,并把它保存在安全的地方(请参考第 6.C
步了解如何安全保存吊销证书)。它能够在发生密钥丢失或密钥泄露时用到。此步骤是本指南的重要步骤,您将在第
5 节里了解原因。
# 复制 KeyID:gpg --list-key [你的邮箱]
这条命令将列出公钥信息,它包括
KeyID,这是一串由数字字母组成的独一无二的字符。复制 KeyID,你将在下面命令中使用它。
# 生成吊销证书: gpg --gen-revoke --output revoke.asc [keyID]
# 它将引导你输入吊销原因,我们建议选择 1 = key has been compromised。
# 但你也可以不输入原因;将它留空,按回车键,确认选择。
疑难解答
- 无法上传密钥到服务器
- 除了使用常规的命令上传密钥,你可以使用特定的命令,将密钥服务器加进你的命令之中:
gpg --keyserver
keys.openpgp.org --send-key [keyID]
- 无法使用密钥或是“权限拒绝”
像其他文件和目录一样,gpg 密钥是权限的主体。如果权限没有正确设置,系统可能无法接受你的密钥。下面步骤将帮助你排查问题,更正权限设置。
# 检查权限: ls -l ~/.gnupg/*
# 设置权限为只有你可以读、写和执行。这是该目录的推荐权限设置。
使用此命令设置:chmod 700 ~/.gnupg
# 设置权限为只有你可以读和写。这是目录里密钥文件的推荐权限设置。
使用此命令设置: chmod 600 ~/.gnupg/*
如果需要在 ~/.gnupg 里创建目录,你必须对这个目录给予执行权限。打开目录需要执行权限。关于权限的更多信息,请查看这篇指南。
- 没有找到解决方案?
- 请在反馈页上告诉我们。
进阶指南
- 关于密钥服务器
- 你可以在这篇手册中了解关于密钥服务器的更多信息。你也可以直接导出公钥文件到你的计算机中。
- 转移密钥
-
使用下面命令转移密钥。将它保存在安全的地方,以可信的方式进行传输,避免密钥泄露。如下是导入和导出密钥的命令:
$ gpg --export-secret-keys -a [keyID] > my_private_key.asc
$ gpg --export -a [keyID] > my_public_key.asc
$ gpg --import my_private_key.asc
$ gpg --import my_public_key.asc
确认 KeyID 是正确的,将它添加到完全信任之中:
$ gpg --edit-key [你的邮箱]
因为这是你的密钥,你应当选择 ultimate
。你不应该对他人的密钥选择完全信任。
参考第 2.B
步的疑难解答有关权限的信息。当传输密钥时,权限设置可能会变得混乱,提示出现一些错误。这是一些简单的避免方法