Używam przepustkę do zarządzać hasłami. Używa mojego klucza GPG do szyfrowania.
Mój klucz wygasł niedawno i utworzyłem nowy.
pass
nie będzie już tworzyć nowych haseł, odkąd wygasł mój stary klucz.
Mogę odszyfrować istniejące hasła. Używa starego ID, 3D1B47D3
jak podczas odszyfrowywania, które widzę gpg: Note: secret key 3D1B47D3 expired at Sun 02 Jul 2017 16:36:45 BST
.
3D1B47D3
to mój stary identyfikator klucza, 1F7CCC88
to mój nowy identyfikator klucza.
Dlatego muszę ponownie zaszyfrować ~/.password-store
przy użyciu mojego nowego klucza. Dokumenty mówią, że używanie pass init 1F7CCC88
powinno to zrobić.
Jednak dostaję błąd:
gpg: [stdin]: encryption failed: Unusable public key
gpg: Note: secret key 3D1B47D3 expired at Sun 02 Jul 2017 16:36:45 BST`.
Błąd powtarza się dla każdego hasła.
~/.password-store/.gpg-id
zawiera mój nowy identyfikator klucza od uruchomienia init
.
Mogę szyfrować pliki ręcznie, gpg --encrypt filename
używając mojego nowego klucza.
Uwaga: wszystkie moje klucze i podklucze mają datę ważności w przyszłości.
pub 4096R/1F7CCC88 2016-07-02 [expires: 2018-07-28]
uid Kris Leech <[email protected]>
sub 4096R/3D1B47D3 2016-07-02 [expires: 2018-07-28]
sub 2048R/E77481E9 2016-07-28 [expires: 2018-07-28]
pass
użyciem mojego nowego klucza.Odpowiedzi:
Wygląda na to, że pass używa gpg2, klucze zostały utworzone za pomocą gpg, a w gpg2 jest coś nieobsługiwanego (MD5 przestarzałe?).
np. deszyfrowanie przy pomocy gpg:
a gpg2 nie:
Zmiana nazwy gpg2 wymusza przejście do używania gpg:
Co możesz zrobić to:
Powinien działać ponownie w tym momencie. Stąd użyj gpg2, a nie gpg.
hth
źródło
Oprócz odpowiedzi, którą zaakceptowałem, chciałem opublikować inną opcję. Możesz po prostu zaimportować istniejący klucz do gpg2.
źródło