Ho una chiave smart card OpenPGP (YubiKey NEO) e una chiave segreta locale installata nel mio portachiavi GnuPG.
Vorrei crittografare e firmare un file con la chiave della mia carta, non con la chiave nel mio portachiavi. Come posso specificare con quale chiave voglio firmare?
Se lID della chiave segreta del mio filesystem è DEADBEEF
e la chiave della mia smartcard è DEADBEE5
, come faccio a firmare con quella chiave?
Risposta
Devi specificare --default-key
:
gpg -s --default-key DEADBEE5 input > output
e controlla successivamente con
gpg -d < output | head -1
Dalla gpg man
pagina (--sign
sezione):
La chiave da utilizzare per la firma viene scelta per impostazione predefinita o può essere impostata con le opzioni –local-user e –default-key.
Commenti
Risposta
La chiave di firma è selezionata con -u
/ --local-user
:
gpg --local-user 0xDEADBEE5 --sign file
Questa opzione può essere data più volte per combinare firme di più chiavi:
gpg --local-user 0xDEADBEE5 --local-user 0x12345678 --sign file
Commenti
- Secondo la pagina man, utilizzare
--local-user
equivale a utilizzare--default-user
come nella mia risposta - @Anthon Porta allo stesso risultato. Ciò ' non significa che
--default-*
dovrebbe essere consigliato per questo utilizzo. Sono stato nella mailinglist di GnuPG per anni. Non ho mai visto qualcosa del genere prima. - Beh, sì, sembra che il problema sia emerso una volta su gnupg-users e che tu fossi quello che ha fornito la risposta con il tuo lettura della pagina man ;-). Per me, specificare unopzione con
-key
nel nome sembra molto più appropriato quando desidero utilizzare una chiave specifica piuttosto che specificare qualcosa con-user
YMMV . - Penso che @Anthon intendesse
--default-key
nel suo commento sopra. Funzionando con quello, una differenza tra--local-user
e--default-key
nella mia esperienza, è che il primo fallisce se una chiave corrispondente non è ' non è presente, mentre il secondo ricadrà su altre chiavi. Per questo motivo, ' farei molta attenzione a non inserire--default-key
negli script. - Ho testato e confermato @ JackO ' Connor ' s commento con gpg 2.2.4. Luomo di
--default-key
diceIf 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
quando provo a crittografare e firmare.--default-*
ha poco senso sulla riga di comando. Queste opzioni sono per il file di configurazione.--local-user
e--default-key
è che--local-user
restituirà un errore se specifichi una chiave inesistente. Con--default-key
, ignorerà una chiave inesistente e utilizzerà la prima chiave nel portachiavi.