Jeg har en OpenPGP-chipkortnøgle (YubiKey NEO) samt en lokal hemmelig nøgle installeret i min GnuPG-nøglering.
Jeg vil gerne kryptere og underskrive en fil med mit korts nøgle, ikke nøglen i min nøglering. Hvordan kan jeg angive, hvilken nøgle jeg gerne vil underskrive med?
Hvis mit filsystems hemmelige nøgle-id er DEADBEEF
, og min chipkortnøgle er DEADBEE5
, hvordan signerer jeg med den nøgle?
Svar
Du skal angive --default-key
:
gpg -s --default-key DEADBEE5 input > output
og tjek bagefter med
gpg -d < output | head -1
Fra siden gpg man
(--sign
):
Den nøgle, der skal bruges til signering, vælges som standard eller kan indstilles med valgmulighederne –local-user og –default-key.
Kommentarer
Svar
Signaturnøglen er valgt med -u
/ --local-user
:
gpg --local-user 0xDEADBEE5 --sign file
Denne mulighed kan gives flere gange for at kombinere underskrifter af flere nøgler:
gpg --local-user 0xDEADBEE5 --local-user 0x12345678 --sign file
Kommentarer
- Ifølge mandsiden er
--local-user
det samme som at bruge--default-user
som i mit svar - @Anthon Det fører til det samme resultat. ' t betyder, at
--default-*
bør anbefales til denne brug. Jeg har været på GnuPG-mailinglisten i årevis. Jeg har aldrig set noget lignende før. - Nå ja, det ser ud til, at problemet kom op en gang på gnupg-brugere, og at du var den, der svarede med din læsning af mandsiden ;-). For mig at angive en indstilling med
-key
i navnet føles meget mere passende, når jeg vil bruge en bestemt nøgle end at angive noget med-user
YMMV . - Jeg tror @Anthon mente
--default-key
i sin kommentar ovenfor. At køre med det er en forskel mellem--local-user
og--default-key
efter min erfaring, at den første mislykkes, hvis en matchende nøgle ikke er ' er ikke til stede, mens den anden falder tilbage til andre taster. Af den grund er jeg ' meget forsigtig med at sætte--default-key
i scripts. - Jeg testede og bekræftede @ JackO ' Connor ' s kommentar med gpg 2.2.4. Manden til
--default-key
sigerIf 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 at kryptere og underskrive.--default-*
giver ikke mening på kommandolinjen. Disse muligheder er til konfigurationsfilen.--local-user
og--default-key
er, at--local-user
giver en fejl, hvis du angiver en ikke-eksisterende nøgle. Med--default-key
ignorerer den en ikke-eksisterende nøgle og bruger den første nøgle i nøglering.