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

  • gpg: conflicting commands quando provo a crittografare e firmare.
  • @NaftuliTzviKay Sorry –sign- key è per firmare altre chiavi con una chiave specifica. Ho aggiornato la risposta (e questa volta testato in anticipo).
  • --default-* ha poco senso sulla riga di comando. Queste opzioni sono per il file di configurazione.
  • La differenza tra --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.

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 dice If 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.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *