Jeg har en OpenPGP smartkortnøkkel (YubiKey NEO), samt en lokal hemmelig nøkkel installert i GnuPG-nøkkelringen min.
Jeg vil kryptere og signere en fil med kortets nøkkel, ikke nøkkelen i nøkkelringen. Hvordan kan jeg spesifisere hvilken nøkkel jeg vil signere med?
Hvis filhemmets nøkkel-ID er DEADBEEF
og smartkortnøkkelen min er DEADBEE5
, hvordan signerer jeg med den nøkkelen?
Svar
Du bør spesifisere --default-key
:
gpg -s --default-key DEADBEE5 input > output
og sjekk etterpå med
gpg -d < output | head -1
Fra gpg man
-siden (--sign
-seksjonen):
Nøkkelen som skal brukes til signering er valgt som standard eller kan angis med alternativene –local-user og –default-key.
Kommentarer
Svar
Signeringsnøkkelen er valgt med -u
/ --local-user
:
gpg --local-user 0xDEADBEE5 --sign file
Dette alternativet kan gis flere ganger for å kombinere signaturer til flere nøkler:
gpg --local-user 0xDEADBEE5 --local-user 0x12345678 --sign file
Kommentarer
- I henhold til mannssiden bruker
--local-user
det samme som å bruke--default-user
som i mitt svar - @Anthon Det fører til det samme resultatet. Det betyr ikke ' t at
--default-*
bør anbefales for denne bruken. Jeg har vært på GnuPG-postlisten i årevis. Jeg har aldri sett noe sånt før. - Vel, det ser ut til at problemet kom opp en gang på gnupg-brukere, og at du var den som ga svaret med din lesing av mannssiden ;-). For meg å spesifisere et alternativ med
-key
i navnet føles det mye mer passende når jeg vil bruke en bestemt nøkkel enn å spesifisere noe med-user
YMMV . - Jeg tror @Anthon mente
--default-key
i kommentaren ovenfor. Å kjøre med det, er en forskjell mellom--local-user
og--default-key
etter min erfaring at den første mislykkes hvis en matchende nøkkel ikke er ' er ikke tilstede, mens den andre vil falle tilbake til andre nøkler. Av den grunn var jeg ' veldig forsiktig med å sette--default-key
i skript. - Jeg testet og bekreftet @ JackO ' Connor ' s kommentar med gpg 2.2.4. Mannen for
--default-key
sierIf 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
når jeg prøver å kryptere og signere.--default-*
gir liten mening på kommandolinjen. Disse alternativene er for konfigurasjonsfilen.--local-user
og--default-key
er at--local-user
vil gi en feil hvis du angir en ikke-eksisterende nøkkel. Med--default-key
vil den ignorere en ikke-eksisterende nøkkel og bruke den første nøkkelen i nøkkelringen.