Mam klucz karty inteligentnej OpenPGP (YubiKey NEO), a także lokalny tajny klucz zainstalowany w mojej bazie kluczy GnuPG.
Chciałbym zaszyfrować i podpisać plik kluczem mojej karty, a nie kluczem z mojej bazy kluczy. Jak mogę określić, którym kluczem chcę się podpisać?
Jeśli identyfikator mojego tajnego klucza systemu plików to DEADBEEF
, a mój klucz karty inteligentnej to DEADBEE5
, jak podpisać się tym kluczem?
Odpowiedź
Należy określić --default-key
:
gpg -s --default-key DEADBEE5 input > output
, a następnie sprawdź z
gpg -d < output | head -1
Ze strony gpg man
(sekcja --sign
):
Klucz używany do podpisywania jest wybierany domyślnie lub można go ustawić za pomocą opcji –local-user i –default-key.
Komentarze
Odpowiedź
Klucz podpisywania jest wybierany za pomocą -u
/ --local-user
:
gpg --local-user 0xDEADBEE5 --sign file
Tę opcję można podać kilka razy, aby połączyć sygnatury kilku kluczy:
gpg --local-user 0xDEADBEE5 --local-user 0x12345678 --sign file
Komentarze
- Zgodnie ze stroną podręcznika użycie
--local-user
jest takie samo jak użycie--default-user
jako w mojej odpowiedzi - @Anthon Prowadzi do tego samego wyniku. To nie ' nie oznacza, że
--default-*
powinno być zalecane do tego zastosowania. Od lat jestem na liście dyskusyjnej GnuPG. Nigdy wcześniej nie widziałem czegoś takiego. - Cóż, tak, wygląda na to, że problem pojawił się kiedyś w gnupg-users i że to Ty jesteś osobą, która udzieliła odpowiedzi swoim czytanie strony podręcznika ;-). Dla mnie określenie opcji z
-key
w nazwie wydaje mi się bardziej odpowiednie, gdy chcę użyć określonego klucza, niż określenie czegoś za pomocą-user
YMMV . - Myślę, że @Anthon miał na myśli
--default-key
w swoim komentarzu powyżej. Biorąc to pod uwagę, jedną z różnic między--local-user
a--default-key
z mojego doświadczenia jest to, że pierwsza kończy się niepowodzeniem, jeśli pasujący klucz nie jest ' t występuje, podczas gdy drugi powróci do innych kluczy. Z tego powodu ' d bardzo ostrożnie umieszczając--default-key
w skryptach. - Przetestowałem i potwierdziłem @ JackO ' Connor ' komentarz z gpg 2.2.4. Mężczyzna z
--default-key
mówiIf there is no secret key available for any of the specified values, GnuPG will not emit an error message but continue as if this option wasn't given.
gpg: conflicting commands
, gdy próbuję zaszyfrować i podpisać.--default-*
nie ma sensu w linii poleceń. Te opcje dotyczą pliku konfiguracyjnego.--local-user
a--default-key
polega na tym, że--local-user
zwróci błąd, jeśli podasz nieistniejący klucz. Z--default-key
, zignoruje nieistniejący klucz i użyje pierwszego klucza z zestawu kluczy.