该密钥目前的有效性未知:
$ gpg --edit-key some.user
pub rsa4096/FAC6C35BDFF9359A
created: 2020-03-01 expires: 2022-03-01 usage: SC
trust: full validity: unknown
sub rsa4096/CDA6BEA851FFCE2E
created: 2020-03-01 expires: 2022-03-01 usage: E
[ unknown] (1). Some User <[email protected]>
这根据签名计算有效性。 “至少一个完全信任的密钥必须签署另一个密钥才能使密钥有效。”由于我最终信任自己的密钥,这意味着如果我签署某个用户的密钥,它也应该变得有效。
我已经签署了该用户的密钥:
$ gpg --list-signatures some.user
pub rsa4096 2020-03-01 [SC] [expires: 2022-03-01]
E9E7BDF5FB135FF9858ABAAAB007FDB2
uid [ unknown] Some User <[email protected]>
sig 3 FAC6C35BDFF9359A 2020-03-01 Some User <[email protected]>
sig 12CA169A2B5A5CFC 2020-03-15 Luc <[email protected]>
sig 3 FAC6C35BDFF9359A 2021-03-01 Some User <[email protected]>
sub rsa4096 2020-03-01 [E] [expires: 2022-03-01]
sig FAC6C35BDFF9359A 2020-03-01 Some User <[email protected]>
sig FAC6C35BDFF9359A 2021-03-01 Some User <[email protected]>
密钥的过期时间最近通过命令(由某些用户自己)延长了gpg --edit-key
,expire
但我无法重新签名(而且我无法判断这是否有必要,没有资源对此有任何说明,所以我猜不是):
$ gpg --edit-key some.user
gpg> sign
"Some User <[email protected]>" was already signed by key 12CA169A2B5A5CFC
Nothing to sign with key 12CA169A2B5A5CFC
检查签名,我没有发现任何异常:
$ gpg --check-sigs some.user
pub rsa4096 2020-03-01 [SC] [expires: 2022-03-01]
E9E7BDF5FB135FF9858ABAAAB007FDB2
uid [ unknown] Some User <[email protected]>
sig!3 FAC6C35BDFF9359A 2020-03-01 Some User <[email protected]>
sig! 12CA169A2B5A5CFC 2020-03-03 Luc <[email protected]>
sig!3 FAC6C35BDFF9359A 2021-03-01 Some User <[email protected]>
sub rsa4096 2020-03-01 [E] [expires: 2022-03-01]
sig! FAC6C35BDFF9359A 2020-03-01 Some User <[email protected]>
sig! FAC6C35BDFF9359A 2021-03-01 Some User <[email protected]>
gpg: 5 good signatures
为什么该密钥无效?
我是否需要以某种方式重新签名,也许首先撤销我的旧签名?
答案1
有效性未知意味着 GnuPG 尚未计算该密钥的信任网,因此它不知道该密钥是否有效。对于新添加的密钥总是如此,但对于更新的密钥也可能发生这种情况(因为签名的更改可能会影响您与密钥的连接)。即使在微不足道的情况下,信任重新计算也不一定会自动发生,因为它们可能很昂贵并且可能需要用户输入。
更新信任数据库应该可以解决这个问题;您可以运行最小更新
gpg --check-trustdb
或更完整的更新(可能涉及回答有关您对密钥所有者的信任程度的问题)
gpg --update-trustdb
(文档中说--check-trustdb
,“通常,GnuPG 会计算何时需要此操作,并自动执行此操作,除非--no-auto-check-trustdb
已设置。”但我不知道计算是什么。)