确认 GPG 密钥是我的

Jon*_*nes 5 gnupg macos

我将台式机上生成的公钥/私钥对导入到笔记本电脑中。但是,现在当我尝试加密文件供我自己使用时,我遇到了这个问题:

gpg -e -r "Jonathan Max Barnes" random-text-file
gpg: C1E2B437: There is no assurance this key belongs to the named user

pub  4096R/C1E2B437 2013-09-06 Jonathan Max Barnes (Jonny) <jonny@jonnybarnes.net>
 Primary key fingerprint: B068 1437 14F5 2628 5404  92FE 6C13 E65E CABC 1625
      Subkey fingerprint: 6F61 DBBA A310 B7D6 4E87  7409 C71A C485 C1E2 B437

It is NOT certain that the key belongs to the person named
in the user ID.  If you *really* know what you are doing,
you may answer the next question with yes.

Use this key anyway? (y/N)
gpg: random-text-file: encryption failed: Unusable public key #obviously pressing y forces gpg to encrypt
Run Code Online (Sandbox Code Playgroud)

我确定钥匙是我的钥匙,我怎么能告诉 gpg 是这种情况?

Jen*_*rat 5

如果您导入在另一台计算机上生成的密钥,您仍然必须对其给予最终信任。来自GnuPG 教程

与 PGP 和 GnuPG 的早期版本相比,最终信任不会自动分配给您自己的公钥——它必须由用户设置。如果未设置最终信任,信任网络将无法工作,并且 GnuPG 将报告密钥的所有权尚未验证,即使您已使用自己的密钥对该密钥进行签名。

有不同的信任级别,每个级别都有一个编号:

1 = I don't know or won't say
2 = I do NOT trust
3 = I trust marginally
4 = I trust fully
5 = I trust ultimately
Run Code Online (Sandbox Code Playgroud)

信任级别 3 和 4 用于信任网络中,允许您的可验证密钥集通过使用其他受信任和有效密钥的签名密钥进行扩展来暂时传播(您可能相信 PGP 的发明者 Phil Zimmermann在签署其他密钥方面做得很好,但如果您没有他的密钥的签名路径,那么他的签名无论如何都将毫无价值)。信任级别 5,“最终信任”是不同的,应该只用于(但应该是!)用于您自己的密钥:允许引入信任进入信任网络,由该密钥签名的其他密钥(和文件/邮件)始终有效;无论是否存在信任路径。应用较低的信任级别会阻止信任计算网络正常工作。如果它仍然有效,您还与另一个最终受信任的人签署了密钥。

通过运行gpg --edit-key [keyid]trust您可以选择密钥的信任级别。


pqn*_*net 2

尝试信任公钥:

gpg --edit-key "Jonathan Max Barnes"
Run Code Online (Sandbox Code Playgroud)

然后在Command>提示符处输入

trust
Run Code Online (Sandbox Code Playgroud)

然后回答4由此fully产生的问题。

详细信息在这里