Am o cheie de card inteligent OpenPGP (YubiKey NEO), precum și o cheie secretă locală instalată în brelocul meu GnuPG.
„Aș dori să criptez și să semnez un fișier cu cheia cardului meu, nu cheia din brelocul meu. Cum pot specifica cu ce cheie aș dori să semnez?
Dacă codul secret al sistemului de fișiere este DEADBEEF
și cheia cardului meu inteligent este DEADBEE5
, cum semnez cu acea cheie?
Răspuns
Ar trebui să specificați --default-key
:
gpg -s --default-key DEADBEE5 input > output
și verificați ulterior cu
gpg -d < output | head -1
Din pagina gpg man
(secțiunea --sign
):
Cheia care trebuie utilizată pentru semnare este aleasă în mod implicit sau poate fi setată cu opțiunile –local-user și –default-key.
Comentarii
Răspuns
Cheia de semnare este selectată cu -u
/ --local-user
:
gpg --local-user 0xDEADBEE5 --sign file
Această opțiune poate fi dată de mai multe ori pentru a combina semnăturile mai multor chei:
gpg --local-user 0xDEADBEE5 --local-user 0x12345678 --sign file
Comentarii
- Conform paginii man folosind
--local-user
este același lucru cu utilizarea--default-user
în răspunsul meu - @Anthon duce la același rezultat. Asta nu ' înseamnă că
--default-*
ar trebui recomandat pentru această utilizare. Sunt pe lista de corespondență GnuPG de ani de zile. Nu am mai văzut așa ceva. - Ei, da, se pare că problema a apărut o dată pe gnupg-users și că tu ai fost cel care a furnizat răspunsul cu dvs. citirea paginii man ;-). Pentru mine, specificarea unei opțiuni cu
-key
în numele său este mult mai potrivită atunci când vreau să folosesc o cheie specifică decât să specific ceva cu-user
YMMV . - Cred că @Anthon a însemnat
--default-key
în comentariul său de mai sus. Executând cu asta, o diferență între--local-user
și--default-key
din experiența mea, este că primul eșuează dacă o cheie potrivită nu este nu este prezent, în timp ce a doua va reveni la alte taste. Din acest motiv, ' aș fi foarte precaut să introduc--default-key
în scripturi. - Am testat și confirmat @ JackO ' Comentariul lui Connor ' cu gpg 2.2.4. Omul pentru
--default-key
spuneIf 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
când încerc să criptez și să semnez.--default-*
are puțin sens pe linia de comandă. Aceste opțiuni sunt pentru fișierul de configurare.--local-user
și--default-key
este că--local-user
va da o eroare dacă specificați o cheie inexistentă. Cu--default-key
, acesta va ignora o cheie inexistentă și va utiliza prima cheie din breloc.