Perché viene visualizzato un avviso quando si specifica il destinatario per la firma di un documento?

1

Ho appena ricevuto un Yubikey 4 e ho generato la chiave con gpg2 --card-edit e ora ho questo:

$ gpg2 --list-key
/home/lilas/.gnupg/pubring.kbx
------------------------------
pub   rsa2048/EA3829E3 2016-11-08 [SC]
uid         [ultimate] Yubikey Test <[email protected]>
sub   rsa2048/47C539AE 2016-11-08 [A]
sub   rsa2048/AC969F81 2016-11-08 [E]

Se non specifichi il destinatario, l'evething funziona bene, ma se lo specifichi mi mostra l'avviso

gpg: WARNING: recipients (-r) given without using public key encryption

$ gpg2  --sign /tmp/test

$ gpg2 --verify /tmp/test.gpg 
gpg: Signature made Tue 08 Nov 2016 02:13:46 PM BRST using RSA key ID EA3829E3
gpg: Good signature from "Yubikey Test <[email protected]>" [ultimate]

$ rm /tmp/test.gpg 

$ gpg2 -r [email protected] --sign /tmp/test
gpg: WARNING: recipients (-r) given without using public key encryption

$ gpg2 --verify /tmp/test.gpg 
gpg: Signature made Tue 08 Nov 2016 02:14:20 PM BRST using RSA key ID EA3829E3
gpg: Good signature from "Yubikey Test <[email protected]>" [ultimate]

Ho appena scoperto che funziona come mi aspettavo se utilizzo l'opzione -u anziché -r . Qual è la differenza di usare l'uno o l'altro? Sento di aver frainteso il significato del destinatario, qualcuno potrebbe chiarirlo per favore? E cosa significa questo avvertimento?

    
posta Lilás 08.11.2016 - 17:33
fonte

1 risposta

3

--recipient o il corto -r è usato per denotare un destinatario, che è qualcosa di rilevante solo per la crittografia . GnuPG ti avverte che non stai crittografando il messaggio.

   --recipient name
   -r     Encrypt  for user id name. If this option or --hidden-recipient is not
          specified, GnuPG asks for the user-id unless --default-recipient
          is given.

Se vuoi selezionare la chiave per firmare un messaggio, usa --local-user o -u . Per un messaggio che è solo firmato, ma non crittografato, non importa chi sia il destinatario.

   --local-user name
   -u     Use  name as the key to sign with. Note that this option overrides
          --default-key.

Questo di solito è definito in gpg.conf .

Se vuoi sia firmare che crittografare un messaggio per [email protected] , applica entrambi i comandi (aggiungi --local-user se necessario):

gpg2 --recipient [email protected] --sign --encrypt /tmp/test
    
risposta data 08.11.2016 - 17:52
fonte

Leggi altre domande sui tag