Crittografa e firma con una chiave segreta specifica


20

Ho una chiave per 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 la chiave del mio portachiavi. Come posso specificare con quale chiave mi piacerebbe firmare?

Se l'ID della chiave segreta del mio filesystem è DEADBEEFe la mia chiave della smartcard lo è DEADBEE5, come posso firmare con quella chiave?

Risposte:


11

È necessario specificare --default-key:

gpg -s --default-key DEADBEE5 input > output

e controlla successivamente con

gpg -d < output | head -1

Dalla gpg manpagina ( --signsezione):

La chiave da usare per la firma è scelta di default o può essere impostata con le opzioni --local-user e --default-key.


gpg: conflicting commandsquando provo a crittografare e firmare.
Naftuli Kay,

@NaftuliTzviKay Siamo spiacenti, la chiave di segno serve per firmare altre chiavi con una chiave specifica. Ho aggiornato la risposta (e testato prima questa volta).
Anthon,

--default-*ha poco senso dalla riga di comando. Queste opzioni sono per il file di configurazione.
Hauke ​​Laging,

1
La differenza tra --local-usere --default-keyè che --local-usergenererà un errore se si specifica una chiave inesistente. Con --default-key, ignorerà una chiave inesistente e utilizzerà la prima chiave nel keyring.
Wisbucky

15

La chiave di firma è selezionata con -u/ --local-user:

gpg --local-user 0xDEADBEE5 --sign file

Questa opzione può essere data più volte al fine di combinare le firme di più chiavi:

gpg --local-user 0xDEADBEE5 --local-user 0x12345678 --sign file

Secondo la pagina man, usare --local-userè lo stesso che usare --default-usercome nella mia risposta
Anthon,

1
@Anthon Conduce allo stesso risultato. Ciò non significa che --default-*dovrebbe essere raccomandato per questo utilizzo. Sono stato sulla mailing list di GnuPG per anni. Non ho mai visto qualcosa del genere prima d'ora.
Hauke ​​Laging,

Bene sì, sembra che il problema si sia verificato una volta su gnupg-utenti e che tu sia colui che ha fornito la risposta con la tua lettura della pagina man ;-). Per me specificare un'opzione con -keynel suo nome è molto più appropriato quando voglio usare una chiave specifica che specificare qualcosa con -userYMMV.
Anthon,

4
Penso che @Anthon intendesse --default-keynel suo commento sopra. In esecuzione con quello, una differenza tra --local-usere --default-keynella mia esperienza, è che il primo fallisce se non è presente una chiave corrispondente, mentre il secondo ricadrà su altre chiavi. Per questo motivo, sarei molto diffidente --default-keynei confronti degli script.
Jack O'Connor,

Ho testato e confermato il commento di @ JackO'Connor con gpg 2.2.4. L'uomo per --default-keydiceIf 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.
wisbucky
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.