我需要更改原来使用的 gpg 密钥经过在我的系统上添加到新生成的密钥。
然而,当我遵循我在这个线程上找到的建议时:https://unix.stackexchange.com/questions/226944/pass-and-gpg-no-public-key
,事情似乎并没有按预期进行。尝试用备用 gpg 密钥替换原始 gpg 密钥时使用的命令及其输出是:
$ pass init -p .password-store GPG-id
mkdir: created directory '/home/naphelge/.password-store/.password-store'
Password store initialized for GPG-id (.password-store)
[master 8d65cea] Set GPG id to GPG-id (.password-store).
1 file changed, 1 insertion(+), 1 deletion(-)
所以该命令似乎只是创建一个新目录,.密码存储在原来的目录中.密码存储并创建一个新的.gpg-id文件中包含我的新密钥的 GPG-id,并且不会继续重新加密中的所有 gpg 文件.密码存储使用新的 gpg 密钥。
此线程中也针对类似的目标提供了相同的建议:https://askubuntu.com/questions/929307/how-to-change-the-gpg-key-of-the-pass-password-store
我注意到在原著中.gpg-id文件在~/.密码存储dir 表明它是保存的原始 gpg-key 指纹((10) 4 位数字块之间没有空格)。因此,我确实尝试了上面相同的命令,pass init -p .password-store FINGERPRINT-id
使用新密钥的指纹(不带空格),并尝试仅指定与密钥关联的电子邮件地址,以尝试启动 gpg 文件的重新加密pass init -p .password-store [email protected]
.密码存储使用新的 gpg-key,但结果始终相同。
所以我不确定,看看其他帖子和 pass 手册页还有什么可以尝试让它工作。任何建议或意见表示赞赏。谢谢。
答案1
使用 GUI QTPass 应用程序可以解决该问题。 QTPass 可以直接添加第二个密钥,用它重新加密存储中的所有文件,然后取消选中原始密钥。