Szyfruj i podpisuj za pomocą określonego tajnego klucza

20

Mam klucz karty inteligentnej OpenPGP (YubiKey NEO), a także lokalny tajny klucz zainstalowany w moim breloku GnuPG.

Chciałbym zaszyfrować i podpisać plik kluczem mojej karty, a nie kluczem w moim breloku. Jak określić klucz, który chcę podpisać?

Jeśli moim tajnym kluczem systemu plików jest identyfikator, DEADBEEFa kluczem karty inteligentnej jest DEADBEE5, to jak podpisać przy użyciu tego klucza?

Naftuli Kay
źródło

Odpowiedzi:

11

Powinieneś określić --default-key:

gpg -s --default-key DEADBEE5 input > output

i sprawdź później za pomocą

gpg -d < output | head -1

Ze gpg manstrony ( --signsekcji):

Klucz używany do podpisywania jest wybierany domyślnie lub można go ustawić za pomocą opcji --local-user i --default-key.

Anthon
źródło
gpg: conflicting commandskiedy próbuję zaszyfrować i podpisać.
Naftuli Kay,
@NaftuliTzviKay Przepraszamy - klawisz-podpisu służy do podpisywania innych kluczy określonym kluczem. Zaktualizowałem odpowiedź (i tym razem przetestowałem wcześniej).
Anthon,
--default-*nie ma sensu w wierszu poleceń. Te opcje dotyczą pliku konfiguracyjnego.
Hauke ​​Laging,
1
Różnica między --local-useri --default-keypolega na tym --local-user, że spowoduje błąd, jeśli podasz nieistniejący klucz. Za pomocą --default-keyzignoruje nieistniejący klucz i użyje pierwszego klucza w breloku.
wisbucky
15

Klucz podpisu wybiera się za pomocą -u/ --local-user:

gpg --local-user 0xDEADBEE5 --sign file

Tę opcję można podać kilka razy, aby połączyć podpisy kilku kluczy:

gpg --local-user 0xDEADBEE5 --local-user 0x12345678 --sign file
Hauke ​​Laging
źródło
Według strony podręcznika użycie --local-userjest takie samo, jak użycie --default-userw mojej odpowiedzi
Anthon
1
@Anthon Prowadzi to do tego samego rezultatu. To nie znaczy, że --default-*należy to zalecić do tego zastosowania. Od lat jestem na liście mailingowej GnuPG. Nigdy wcześniej czegoś takiego nie widziałem.
Hauke ​​Laging,
No tak, wygląda na to problemu wpadł kiedyś na GnuPG użytkowników i że gdzie ten, który dostarczył odpowiedzi ze swojej lektury na stronie man ;-). Dla mnie określenie opcji -keyw jej nazwie wydaje się o wiele bardziej odpowiednie, gdy chcę użyć określonego klucza, niż określenie czegoś w -userYMMV.
Anthon,
4
Myślę, że @Anthon miał --default-keyna myśli w swoim komentarzu powyżej. Biegając z tym, jedna różnica pomiędzy --local-useri --default-keymoim doświadczeniem, jest to, że pierwsza zawiedzie jeśli klucz pasujący nie występuje, natomiast drugi spadnie z powrotem do innych klawiszy. Z tego powodu byłbym bardzo ostrożny w tworzeniu --default-keyskryptów.
Jack O'Connor,
Przetestowałem i potwierdziłem komentarz @ JackO'Connor za pomocą gpg 2.2.4. Człowiek --default-keymó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.
mądry