Answers:
使用pass init [-p path] <gpg-id>
where <gpg-id>
指定要用来加密密码的新gpg密钥。根据pass
手册页,
如果指定的gpg-id与任何现有文件中使用的密钥不同,这些文件将被重新加密以使用新的ID。
这似乎至少在pass 1.6.5
。请注意,您需要访问旧的gpg私钥才能解密,然后重新加密您的密码。
如果您的pass
目录中的任何一个都不使用新密钥重新加密,则可能是因为该.gpg-id
文件具有覆盖在顶级文件中指定的所有gpg-id 的文件password-store
目录文件。我不会在这个问题中介绍如何解决该问题,因为它可能有点切线,但是我会说pass
手册页在解释它方面做得很好。
如果您的~/.password-store
目录是git repo(即您一次运行pass git init
),那么请注意,旧的加密将保留在git repo的提交历史记录中;如果您担心潜在的GPG密钥受损,则应采取必要的步骤来git删除该git历史记录。