¿Por qué aparece una advertencia al especificar el destinatario para firmar un documento?

1

Acabo de obtener un Yubikey 4 y genero la clave con gpg2 --card-edit y ahora tengo esto:

$ 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]

Si no especifico el destinatario, todo funciona bien, pero si lo especifico, me muestra la advertencia

  

gpg: ADVERTENCIA: los destinatarios (-r) se proporcionan sin usar el cifrado de clave pública

$ 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]

Acabo de descubrir que funciona como esperaba si utilizo la opción -u en lugar de -r . ¿Cuál es la diferencia de usar uno u otro? Siento que entendí mal el significado de destinatario, ¿podría alguien aclarar esto, por favor? ¿Y qué significa esta advertencia?

    
pregunta Lilás 08.11.2016 - 17:33
fuente

1 respuesta

3

--recipient o el corto -r se usa para denotar un destinatario, que es algo que solo es relevante para el cifrado . GnuPG te advierte que no estás cifrando el mensaje.

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

Si desea seleccionar la clave para firmar un mensaje, use --local-user o -u . Para un mensaje que solo está firmado, pero no encriptado, no importa quién sea el destinatario.

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

Esto generalmente se define en gpg.conf .

Si desea firmar y cifrar un mensaje para [email protected] , aplique ambos comandos (agregue --local-user si es necesario):

gpg2 --recipient [email protected] --sign --encrypt /tmp/test
    
respondido por el Jens Erat 08.11.2016 - 17:52
fuente

Lea otras preguntas en las etiquetas