我需要将最初用于在我的系统上传递的 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(-)
因此,该命令似乎只是在原始目录.password -store中创建一个新目录.password-store,并使用我的新密钥的 GPG-id 创建一个新的.gpg-id文件,而不是继续重新加密.password-store中带有新 gpg-key 的所有 gpg 文件。
此线程中也针对类似的目标提供了相同的建议:https://askubuntu.com/questions/929307/how-to-change-the-gpg-key-of-the-pass-password-store
我注意到在~/.password-store目录中的原始.gpg-id文件中,保存的是原始 gpg-key 的指纹((10)4 位数字块之间没有空格)。因此,我确实尝试了上面相同的命令,使用新密钥的指纹(不带空格),并尝试仅指定与密钥关联的电子邮件地址,以尝试启动.password-中 gpg 文件的重新加密-使用新的 gpg-key进行存储,但结果始终相同。pass init -p .password-store FINGERPRINT-id
pass init -p .password-store [email protected]
所以我不确定,看看其他帖子和 pass 手册页还有什么可以尝试让它工作。任何建议或意见表示赞赏。谢谢。
使用 GUI QTPass 应用程序可以解决该问题。QTPass 可以直接添加第二个密钥,用它重新加密存储中的所有文件,然后取消选中原始密钥。