pub ed25519 2018-12-24 [SC]
988D29CB7CA9D62252B22DEFB42E56952F9FB61C
Keygrip = 8226D19110BAC4FB4D60BC25869E5F23C1BB667F
uid [ultimate] delete me (Delete Me) <[email protected]>
sub cv25519 2018-12-24 [E]
Keygrip = 04B4D2C5CC29926F48DA2C4FD24F03B9595AE51C
sub ed25519 2019-03-25 [SA]
Keygrip = 269995721854253C5F8B48CB40DD24948D580F8C
sub ed25519 2019-03-25 [SA]
Keygrip = 604E0E8F9D9C2B19A823E22A90F08EC2DDCA80BB
密码短语更改为seahorse
-rw------- 1 user user 333 Mar 25 09:27 8226D19110BAC4FB4D60BC25869E5F23C1BB667F.key
-rw------- 1 user user 333 Mar 25 09:08 604E0E8F9D9C2B19A823E22A90F08EC2DDCA80BB.key
-rw------- 1 user user 333 Mar 25 09:08 269995721854253C5F8B48CB40DD24948D580F8C.key
-rw------- 1 user user 341 Mar 25 09:08 04B4D2C5CC29926F48DA2C4FD24F03B9595AE51C.key
密码短语更改为gpg --edit-key
-rw------- 1 user user 333 Mar 25 09:37 604E0E8F9D9C2B19A823E22A90F08EC2DDCA80BB.key
-rw------- 1 user user 333 Mar 25 09:37 269995721854253C5F8B48CB40DD24948D580F8C.key
-rw------- 1 user user 341 Mar 25 09:37 04B4D2C5CC29926F48DA2C4FD24F03B9595AE51C.key
-rw------- 1 user user 333 Mar 25 09:37 8226D19110BAC4FB4D60BC25869E5F23C1BB667F.key
对于 GPG 2.1 及更高版本,私钥存储在
~/.gnupg/private-keys-v1.d
每个密钥中,包括子密钥,使用密钥的 keygrip 作为文件名存储为单独的文件:<keygrip>.key
用于
gpg --edit-key
更改密码时,所有子密钥都在私钥目录中进行修改。但是,似乎
seahorse
只是修改了主密钥的私钥文件。所以,看起来这是
seahorse
. 这可能是早期版本的回归,早期gpg
版本将私钥存储在密钥环结构中,就像公钥一样。此行为在 2.1 及更高版本中已更改。使用测试密钥的简单测试结果,表明 seahorse 只修改了主密钥的私钥文件。
带有三个子键的测试键
密码短语更改为
seahorse
密码短语更改为
gpg --edit-key
海马源代码检查
在查看了一些 seahorse 源代码之后,该行为似乎与旧的密钥环 gpg 方法一致。
根据
gpgme
文档,应使用gpgmegpgme_op_passwd
函数调用更改密码。但是,这个函数调用并没有出现在海马源代码中。Seahorse(又名 GNOME 密码和密钥)维护者在这里。
由于没有足够的声誉,我无法在这里评论 RubberStamp 的答案,但 Seahorse开始 在 Seahorse 3.32 中使用
gpgme_op_passwd
(或者更确切地说是它的异步变体)。gpgme_op_passwd_start
该代码早在此之前就已经在 master 中了(大约比验证答案早一个月),但发布是从 3 月 12 日开始的。根据您的发行版包含的版本,这应该已经修复。如果没有,请随时提出问题:-)。