Como alterar a chave gpg do armazenamento de senhas pass

15

Pode-se usar passcomo um gerenciador de senhas para armazenar senhas.

Uma coisa que não está clara no manual é se é possível alterar facilmente a chave gpg usada. Inicializa-se o armazenamento de senhas com uma chave gpg, mas estou me perguntando o que fazer se a chave, por exemplo, ficar desatualizada.

Existe uma maneira conveniente de descriptografar e criptografar novamente todas as senhas armazenadas no gerenciador de senhas com outra chave?

Willem Van Onsem
fonte

Respostas:

20

Use pass init [-p path] <gpg-id>where <gpg-id>especifica a nova chave gpg com a qual você deseja criptografar suas senhas. De acordo com a passpágina do manual ,

Se o gpg-id especificado for diferente da chave usada em qualquer arquivo existente, esses arquivos serão criptografados novamente para usar o novo ID.

Isso parece funcionar pelo menos em pass 1.6.5. Observe que você precisará acessar a chave privada gpg antiga para descriptografar e depois criptografar suas senhas.

Advertência 1

Se algum dos seus pass diretórios não criptografar novamente com a nova chave, pode ser que ele tenha um .gpg-idarquivo que substitua qualquer ID de gpg especificado no nível superior do password-storediretório. Não abordarei como resolver esse problema nesta questão, pois provavelmente seria um pouco tangencial demais, mas direi que a passpágina de manual faz um bom trabalho ao explicá-lo.

Advertência 2

Se o seu ~/.password-storediretório for um repositório git (ou seja, você executou uma vez pass git init), observe que a criptografia antiga permanecerá no histórico de confirmação do repositório git; se sua preocupação é sobre uma chave gpg potencialmente comprometida, você deve tomar as medidas necessárias para se livrar desse histórico do git.

Wayne Warren
fonte