Jak zmienić domyślny klucz dla danego identyfikatora użytkownika w GnuPG?


2

Mam dwa klucze do mojego głównego identyfikatora użytkownika: stary i dłuższy, który wygenerowałem niedawno. Nie używam już starego. Ustawiam klucz domyślny na nowszy, korzystając z default-keyopcji w ~/.gnupg/gpg.conf.

Jednak niektóre narzędzia zastępują ustawienie domyślne, na przykład dzwonienie git tag -s, które dzwoni gpg -bsau DEFAULT_COMMITTER_EMAIL_ADDRESSpod maską. (Jest to rozsądne, ponieważ mój domyślny adres e-mail osoby zatwierdzającej może nie zgadzać się z moim głównym identyfikatorem użytkownika dla gpg.) Wydaje się, że GnuPG używa pierwszego znalezionego klucza, który odpowiada identyfikatorowi użytkownika, zwykle najstarszego.

Mogę to naprawić w mojej konfiguracji git, ustawiając tam również domyślny klucz, ale wolę nie mieć tego duplikatu (ponieważ w moim przypadku wszystkie tożsamości są takie same).

Udało mi się to obejść, usuwając starsze klucze z mojego kluczy, a następnie dodając je ponownie (co wydaje się dodawać je na końcu). Następnie mój najnowszy (preferowany, domyślny) klucz pojawia się jako pierwszy gpg --list-secret-keys, a zatem jest to pierwsze dopasowanie zwrócone dla mojego identyfikatora użytkownika.

Czy jest jakiś sposób na uniknięcie tego obejścia (które musiałbym powtarzać za każdym razem, gdy generuję nowy klucz)?

Odpowiedzi:


0

Nie ma takiej opcji konfiguracji dla GnuPG. Zdefiniowanie odrębnego klucza (na podstawie odcisku palca lub co najmniej długiego identyfikatora klucza spowodowanego atakami kolizyjnymi ) jest rozsądną rzeczą do zrobienia: złośliwi użytkownicy mogą również wysyłać ci klucze prywatne dla identyfikatorów użytkowników, których gpg --importoczekujesz od jakiegoś klucza publicznego i zostać wybranym niezauważony.

Zatem radzenie sobie z większą liczbą podstawowych kluczy OpenPGP dla tego samego identyfikatora użytkownika i ich regularna wymiana może również nie być najlepszą praktyką (rozważ dyskusję w „Ile kluczy OpenPGP powinienem zrobić?” ). Nie tylko myli innych („Który z tych kluczy użyć?”), Ale także zrywa z wszelkimi certyfikatami i twoją integracją z zaufaną siecią OpenPGP za każdym razem, gdy rzucisz klucz podstawowy. Zastanów się, czy trzymanie za pomocą jednego (wysokiego bezpieczeństwa, może nawet przechowywanego offline) i zmieniających się podkluczy można dostosować do Twojego przypadku użycia - przypomina to, co można nazwać najlepszą praktyką w konfiguracjach kluczy OpenPGP (chociaż jest miejsce na dyskusję i zmiany, oczywiście).


Dziękuję za odpowiedź, ale niestety nie rozumiem. Po pierwsze, mam już różne klucze do danego identyfikatora użytkownika; dlaczego wyklucza to możliwość określenia, który z nich jest wymieniony jako pierwszy? Po drugie, nie używam regularnie więcej niż jednego klucza. Stworzyłem nowy dłuższy niż mój stary, ale mój stary wciąż jest wymieniony jako pierwszy i dlatego został wybrany przez git jako domyślny.
Reuben Thomas

Próbowałem wyjaśnić pytanie.
Reuben Thomas

Istota mojej odpowiedzi nie zmieni się: w GnuPG nie ma możliwości zdefiniowania preferencji, którego klucza użyć dla którego identyfikatora użytkownika, a zalecenie przypięcia klucza poprzez zdefiniowanie odcisku palca pozostaje takie samo: możesz albo wybrać identyfikator użytkownika lub klucz po identyfikatorze, ale nie połączenie obu. Jedyną alternatywą byłoby udostępnienie drugiego katalogu domowego GnuPG tylko z określonym kluczem i uruchomienie oddzielnych instancji gpg-agent, aby można było wybrać klucz, wykluczając wszystkie inne, a następnie wybrać identyfikator użytkownika za pomocą --local-useropcji.
Jens Erat,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.