Jak zmienić klucz gpg w sklepie z hasłami

16

Można użyć passjako menedżera haseł do przechowywania haseł.

W instrukcji nie jest jasne, czy można łatwo zmienić używany klucz gpg. Jeden inicjuje magazyn haseł za pomocą klucza gpg, ale zastanawiam się, co zrobić, jeśli na przykład klucz stanie się nieaktualny.

Czy istnieje wygodny sposób na odszyfrowanie i ponowne zaszyfrowanie wszystkich haseł przechowywanych w menedżerze haseł za pomocą innego klucza?

Willem Van Onsem
źródło

Odpowiedzi:

21

Użyj pass init [-p path] <gpg-id>gdzie <gpg-id>określa nowy klucz gpg, za pomocą którego chcesz szyfrować hasła. Według passstrony man ,

Jeśli określony gpg-id różni się od klucza używanego w istniejących plikach, pliki te zostaną ponownie zaszyfrowane, aby użyć nowego identyfikatora.

To wydaje się działać przynajmniej w pass 1.6.5. Pamiętaj, że będziesz potrzebować dostępu do starego klucza prywatnego gpg, aby odszyfrować, a następnie ponownie zaszyfrować swoje hasła.

Zastrzeżenie 1

Jeśli którykolwiek z twoich passkatalogów nie szyfruje się ponownie przy użyciu nowego klucza, może to oznaczać, że ma .gpg-idplik, który zastępuje dowolny identyfikator gpg-id określony na najwyższym poziomie password-storekatalogu. Nie będę omawiać, jak rozwiązać ten problem w tym pytaniu, ponieważ byłoby to prawdopodobnie zbyt styczne, ale powiem, że passstrona podręcznika radzi sobie całkiem nieźle z wyjaśnieniem tego.

Zastrzeżenie 2

Jeśli twój ~/.password-storekatalog to repozytorium git (tzn. Kiedyś uruchomiłeś pass git init), pamiętaj, że stare szyfrowanie pozostanie w historii zatwierdzeń repozytorium git; jeśli twoja obawa dotyczy potencjalnie skompromitowanego klucza gpg, powinieneś podjąć wszelkie niezbędne kroki, aby pozbyć się historii git.

Wayne Warren
źródło