Tengo una clave de tarjeta inteligente OpenPGP (YubiKey NEO) así como una clave secreta local instalada en mi anillo de claves GnuPG.

Me gustaría cifrar y firmar un archivo con la clave de mi tarjeta, no la clave de mi anillo de claves. ¿Cómo puedo especificar con qué clave me gustaría firmar?

Si mi ID de clave secreta del sistema de archivos es DEADBEEF y mi clave de tarjeta inteligente es DEADBEE5, ¿cómo firmo con esa clave?

Responder

Debe especificar --default-key:

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

y luego verifique con

gpg -d < output | head -1 

Desde la página gpg man (sección --sign):

La clave que se utilizará para firmar se elige de forma predeterminada o se puede configurar con las opciones –local-user y –default-key.

Comentarios

  • gpg: conflicting commands cuando intento encriptar y firmar.
  • @NaftuliTzviKay Lo siento –sign- La clave es para firmar otras claves con una clave específica. Actualicé la respuesta (y probé de antemano esta vez).
  • --default-* tiene poco sentido en la línea de comandos. Estas opciones son para el archivo de configuración.
  • La diferencia entre --local-user y --default-key es que --local-user dará un error si especifica una clave inexistente. Con --default-key, ignorará una clave inexistente y usará la primera clave en el llavero.

Respuesta

La clave de firma se selecciona con -u / --local-user:

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

Esta opción se puede dar varias veces para combinar firmas de varias claves:

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

Comentarios

  • Según la página del manual, usar --local-user es lo mismo que usar --default-user como en mi respuesta
  • @Anthon Lleva al mismo resultado. Eso no ' t significa que --default-* deba recomendarse para este uso. He estado en la lista de correo de GnuPG durante años. Nunca había visto algo así antes.
  • Bueno, sí, parece que el problema surgió una vez en gnupg-users y tú fuiste quien proporcionó la respuesta con tu lectura de la página de manual ;-). Para mí, especificar una opción con -key en su nombre se siente mucho más apropiado cuando quiero usar una clave específica que especificar algo con -user YMMV .
  • Creo que @Anthon quiso decir --default-key en su comentario anterior. Siguiendo con eso, una diferencia entre --local-user y --default-key en mi experiencia, es que el primero falla si una clave coincidente no es ' t presente, mientras que el segundo recurrirá a otras claves. Por esa razón, ' sería muy cauteloso al poner --default-key en los scripts.
  • Probé y confirmé @ Comentario de JackO ' Connor ' con gpg 2.2.4. El hombre de --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.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *